Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    159

    [C++] Passaggi di valori di un array multidimensionale ad una funzione

    Salve a tutti, ho cominciato da poco tempo a "programmare" in c++ ed ho atto per ora gli argomenti più seplici riuscendomi a destreggiare abbastanza bene (con qualche errore ogni tanto). Ora ho la necessità di passare i valori di u array multidimensionale ad una funzione ma ho letto che non è possibile. Come si può aggirare il problema? Poichè le dimensioni dell'array devono essere decise dall'utente. Ringrazio tutti anticipatamente.

    Questo quello che vorrei fare:
    codice:
    LIBRERIE
    
    void creo_matrice(double &matrice[n][m], int n, int m);
    
    int main(int argc, char *argv[])
    {
      int n = 3;
      int m = 4;
      double matrice[n][m];
    
      creo_matrice(matrice);
    }
    
    void creo_matrice(double &matrice, int n, int m)
    {
      int i,
          j;
    
      for(i=0; i<=(n-1); i++)
        cout << matrice[i][m] << endl;
    }
    Grazie a tutti (scusate eventuali errori sintattici ma l'ho scritto al volo, spero di capisca il senso)

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Dimmi se ti va bene:

    codice:
    #include <iostream>
    #include <new>
    
    using namespace std;
    
    void creo_matrice(double** matrice, int n, int m)
    {
    
    	for(int j = 0; j < n; j++) {
    		for(int i = 0; i < m; i++) {
    matrice[j][i] = 1.5;
    		}
    	}
    
      for(int x = 0; x < n; x++) {
    		for(int y=0; y < m; y++) {
    cout << matrice[x][y] << endl;
    		}
    	}
    }
    
    int main()
    {
      int n;
      int m;
      cout << "Inserire dimensione del primo array: ";
      cin >> n;
      cout << "Inserire dimensione del secondo array: ";
      cin >> m;
    
    
      double** matrice = new double*[n];
    
      for(int i=0; i<n; i++) {
          matrice[i] = new double[m];
    } 
    
      creo_matrice(matrice, n, m);
    
      return 0;
    }
    quello è il sistema per allocare un array bidimensionale.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    159
    Scusami se non ti ho risposto prima ma sono stato impegnato. Grazie mille per l'aiuto, appena ho tempo provo il codice e ti saprò ridire. Grazie in anticipo, a buon rendere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.