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 . .
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;
}
}
Scusate la banalità eh . .