Salve ho un problema... sto scrivendo un programma sui file di testo che in pratica data una matrice letta in input da file.txt ci stampi a video il valore massimo della matrice e su un file di output la matrice stessa...il programma viene compilato bene ma perchè all'atto della sua esecuzione crasha??? Questo è il mio codice e grazie per le risposte che riceverò
codice:
const int max_dim=100;
typedef int vettore [max_dim];
typedef vettore matrice[max_dim];

void leggi_mat(matrice, int &, int &, const char*);
int ricerca_max(matrice, int, int, vettore);
void stampa(matrice, int, int, const char*);
codice:
#include <stdio.h>
#include <stdlib.h>
#include "lib.h"

int main()
{
    int riga, colo;
    matrice mat;
    int massimo;
    vettore v;
    
    leggi_mat(mat, riga, colo, "input.txt");
    massimo = ricerca_max(mat,riga,colo, v);
    printf("il massimo valore della matrice e' /n/n");
    printf("%d", massimo);
    
    stampa(mat, riga, colo, "output.txt");
    
system("PAUSE");
return 0;

}
codice:
#include <stdio.h>
#include <stdlib.h>
#include "lib.h"

void leggi_mat(matrice mat, int &riga, int &colo, const char *nomefile)
{
     int i,j;
     FILE* fp=fopen(nomefile, "r");
     
     if(!fp)
     {
            printf("file non trovato impossibile continuare /n/n");
            system("PAUSE");
            exit(1);
     }
     
fscanf(fp, "%d", riga);
fscanf(fp, "%d", colo);

for(i=0;i<riga;i++)
                   for(j=0;j<colo;j++)
                                      fprintf(fp, "%d", mat[i][j]);
                                      
}


int ricerca_max (matrice mat, int riga, int colo, vettore v)
{
int i,j;
int posmax;
int massimo;

for(i=0;i<riga;i++)
{
posmax=mat[i][0];                   
                   for(j=1;j<colo;j++)
                   {
                                      if(mat[i][j]>posmax)
                                      {
                                      posmax=mat[i][j];
                                      v[i]=mat[i][j];
                                      }
                                      
                   }
                   
}

massimo=v[0];
for(i=0;i<colo;i++)
                   {
                                      if(v[i]>massimo)
                                      massimo=v[i];
                                      
                   }
                   

return massimo;
}


void stampa(matrice m, int riga, int colo, const char *nomefile)
{
     int i,j;
     FILE* fp=fopen(nomefile, "w");
     
     if(!fp)
     {
            printf("file non trovato impossibile continuare /n/n");
            system("PAUSE");
            exit(1);
     }
     
for(i=0;i<riga;i++)
                   for(j=0;j<colo;j++)
                                      fprintf(fp, "%d", m[i][j]);
                                      
}