ciao a tutti, questa è la prima volta che vi scrivo vorrei pormi il mio problema nella speranza che qualcuno mi aiuti a risolverlo.
codice:
#include<iostream>
#include<new>
using namespace std;
void get(int***,int,FILE*);
void show(int**,int);
void alloca(int***,int);
void disalloca(int***,int,FILE*);
int main()
{
FILE*fp;
fp=fopen("matricedafile.txt","w+");
int **p;
int dim;
cout<<"qual'è la dimensione della matrice ?";
cin>>dim;
alloca(&p,dim);
get(&p,dim,fp);
show(p,dim);
disalloca(&p,dim,fp);
system("PAUSE");
return 0;
}
int i,j;
void alloca(int***q,int d)
{
cout<<"funzione alloca \n ";
*q=(int**)new int[d];
for(i=0;i<d;i++)
{
*q[i]=(int*)new int[d];
}
}
void get(int***q,int d,FILE*fu)
{
cout<<"funzione get \n";
cout<<"ora inserisci gli elementi della matrice!"<<endl;
for(i=0;i<d;i++)
{
for(j=0;j<d;j++)
{
cout<<"elemento "<<i+1<<""<<j+1<<" ";
cin>>*q[i][j];//
fprintf(fu,"%d",*q[i][j]);//
}
}
}
void show(int**q,int d)
{
cout<<"funzione show \n";
for(i=0;i<d;i++)
{
for(j=0;j<d;j++)
{
cout<<q[i][j]<<" ";
}
cout<<endl;
}
}
void disalloca(int***q,int d,FILE*fu)
{
cout<<"funzione disalloca\n";
for(i=0;i<d;i++)
{
delete(*q[i]);
}
delete(*q);
fclose(fu);
}
questo è il codice che ho scritto per allocare spazio in memoria, acquisire da tastiera la matrice, stamparla e deallocare lo spazio tutto tramite funzioni void...sicuramente ci sono degli errori durante l'allocazione perchè poi non mi permette di acquisire correttamente tutti i numeri della matrice.
grazie in anticipo.