Ciao ragazzi mi spiegate perchè se creo dinamicamente una matrice tramite una funzione per poi scriverci dentro tramite un'altra funzione sembra che me la crei con successo ma se poi cerco di stampare la suddetta matrice mi crasha tutto riportandomi segmentation fault?
Per intenderci . .
Scusate la banalità eh . .codice:#include <iostream> #include <malloc.h> using namespace std; void AllocaMatrice(int** matrice,int dimX,int dimY); void InserisciDati(int** matrice,int righe,int colonne); void StampaMatrice(int **matrice,int dimensioneX,int dimensioneY); int main() { int i,j,k,righe,colonne; int **matrix; cout << "Inserisci il numero delle righe "; cin >> righe; cout << "Inserisci il numero di colonne "; cin >> colonne; AllocaMatrice(matrix,righe,colonne); // StampaMatrice(matrix,righe,colonne); Appena il programma arriva qua mi crasha return 0; } void AllocaMatrice(int** matrice,int dimX,int dimY) { int k; matrice = (int**) calloc(dimX,sizeof(int*)); //numero di righe for(k=0;k<dimY;k++) matrice[k] = (int*) calloc (dimY,sizeof(int)); //numero di colonne InserisciDati(matrice,dimX,dimY); } void InserisciDati(int** matrice,int righe,int colonne) { int i,k; for (i=0;i<righe;i++) for(k=0;k<colonne;k++) { cout << "Insersci l'elemento [" << i << "][" << k << "] "; cin >> matrice[i][k]; } } void StampaMatrice(int **matrice,int dimensioneX,int dimensioneY) { int i,k; for (i=0;i<dimensioneX;i++) { for (k=0;k<dimensioneY;k++) cout << matrice[i][k] << " "; cout << endl; } }

Rispondi quotando

