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.