Ho risolto tutti i problemi ora funziona alla grande e ho fatto come dite voi che invece di scervellarmi metto delle printf per vedere i dati come vengono modificati...beh ho ancora da imparare...questo è il nuovo codice funzionante:
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=0, colo=0;
matrice mat;
vettore v;
int mass;
leggi_mat(mat, riga, colo, "input.txt");
mass = ricerca_max(mat,riga,colo, v);
printf("il valore massimo e' %d \n\n", mass);
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);
printf("valore di riga %d \n" ,riga);
printf("valore di colonna %d \n" ,colo);
for(i=0;i<riga;i++)
{
for(j=0;j<colo;j++)
{
fscanf(fp, "%d", &mat[i][j]);
printf("valori matrice %d \n\n", mat[i][j]);
}
}
}
int ricerca_max (matrice mat, int riga, int colo, vettore v)
{
int i,j;
int max_mat;
int mass=-100;
printf("valore massimo %d \n", mass);
for(i=0;i<riga;i++)
{
max_mat=mat[i][0];
printf("valore del massimo %d\n\n", max_mat);
for(j=1;j<colo;j++)
{
if(mat[i][j]>max_mat)
{
max_mat=mat[i][j];
printf("valore massimale %d \n\n",max_mat);
v[i]=mat[i][j];
printf("valore massimo inserito nel vettore %d \n\n", v[i]);
}
}
}
mass=v[0];
printf("il massimo valore e' %d \n\n" ,mass);
for(i=0;i<colo;i++)
{
if(v[i]>mass)
mass=v[i];
}
return mass;
}
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, "valori della matrice %d \n\n", m[i][j]);
Ciau e grazie per l'aiuto che mi avete dato