ciao a tutti!!
devo scrivere un programma che legga in input due matrici, calcoli la matrice somma e la salvi all'interno di un file testo..
io l'ho fatto..o almeno credo di averlo fatto..ed è proprio questo che vi chiedo è giusto quello che ho scritto?

codice:
#include<stdio.h>
#include<iostream>

/*definizione costanti simboliche*/

#define MAXRIGHE 20
#define MAXCOLONNE 30

 main()
{
      
    
      int nrighe;
      int ncolonne;
      
      /*definizione di array bidimensionali*/
      int a[MAXRIGHE][MAXCOLONNE], b[MAXRIGHE][MAXCOLONNE], c[MAXRIGHE][MAXCOLONNE];
      
      /*definizione di prototipi di funzioni*/
      void ingresso(int a[][MAXCOLONNE], int nrighe, int ncolonne);
      void somma(int a[][MAXCOLONNE],int b[][MAXCOLONNE],int c[][MAXCOLONNE], int nrighe, int ncolonne);
      void uscita(int c[][MAXCOLONNE], int nrighe, int ncolonne);
      
      /*lettura e scrittura tabella di numeri "a" e "b"*/
      printf("di quante righe si compone la tabella? ");
      scanf("%d", &nrighe);
      printf("e di quante colonne? ");
      scanf("%d", &ncolonne);
      
      printf("la tabella 'a' e' la seguente:\n");
      ingresso (a,nrighe,ncolonne);
      
      printf("la tabella 'b' e' la seguente: \n");
      ingresso (b,nrighe,ncolonne);
      
      somma(a,b,c,nrighe,ncolonne);
     
      
      /*effettuata l'operazione ottengo la tabella "c"*/
      printf("la somma degli elementi di ciascuna tabella ci da la seguente tabella 'c': \n" );
      uscita(c,nrighe,ncolonne);
      
      }
      
      /*legge la prima tabella di numeri*/
      void ingresso(int a[][MAXCOLONNE], int m, int n)
      
      {
           int riga, colonna;
           
           for(riga=0; riga<m; ++riga){
                       printf("inserisci i dati per la riga numero %2d|n", riga+1);
                       for(colonna=0;colonna<n;++colonna)
                       scanf("%d", &a[riga][colonna]);
                       }
                       return;
                       }
       /*somma gli elementi della prima tabella a quelli della seconda tabella*/                 
      void somma(int a[][MAXCOLONNE], int b[][MAXCOLONNE],int c[][MAXCOLONNE], int m, int n)
      {
           int riga, colonna;
           for(riga=0;riga<m;++riga)
           for(colonna=0;colonna<n;++colonna)
           c[riga][colonna]= a[riga][colonna] + b[riga][colonna];
           return;
           }
           
           /*scrive la tabella somma,ossia "c"*/
          void uscita(int c[][MAXCOLONNE],int m, int n)
          {
              FILE *ftp;
               int riga, colonna;
               for(riga=0; riga<m;++riga){
                           for(colonna=0;colonna<n;++colonna)
                           printf("%4d", c[riga][colonna]);
                           printf("\n");
                           }
                           ftp=fopen("sample.dat", "w");
                           fprintf(ftp,"%4d", c[riga][colonna]);
                           fclose(ftp);
                           system("PAUSE");
                           return;
                           }
pongo questa domanda perchè per me è come se non avessi creato il file dove porre la matrice somma..almeno visivamente, quando compilo non mi pare
grazie a tutti