PDA

Visualizza la versione completa : problema programma visualizza matrice a video..


SSSS90
24-03-2014, 19:47
Salve forum questo programma apparentemente semplice mi sta dando problemi,supponendo
di avere un file di testo nel cui primo rigo c' la dimensione della matrice 4*4 e le righe restanti contengono i valori della matrice..vorrei visualizzare i valori a video(nel main)..ma se lo faccio...mi vengono
visualizzati tipo degli indirizzi con molte cifre al posto degli interi...qualcuno pu darmi qualche suggerimento..non so verso quale altro muro sbattere la testa:dh:

:dh::dh::dh::dh::dh:



/*
**
**
** Motivazione.........: Dato un file contenente una matrice di interi
** (le cui dimensioni sono definite dai primi due numeri
** presenti nel file),
** il programma proposto legge
** la matrice di interi e restituisce un vettore
** calcolandone i valori nel seguente modo:
** - viene calcolata la media su tutti i valori
** della matrice;
** - vengono copiati nel vettore di output
** tutti i valori inferiori alla media.
** Il vettore risultante sara' stampato a video
** sotto forma di istogramma (ESATTAMENTE
** come mostrato nell'esempio).
**
**
**
** ESEMPIO:............: CONTENUTO DEL FILE DI INPUT (nome del file "matrice.txt")
** 4 4
** 13 15 23 43
** 7 4 11 0
** 8 4 14 27
** 40 0 1 -2
**
**
** (La media della matrice e' 13.)
**
**
** RISULTATO DELLA COMPUTAZIONE:
**
** Matrice letta
** 13 15 23 43
** 7 4 11 0
** 8 4 14 23
** 40 0 1 2
**
** Vettore risultante
**
** #
** # #
** # #
** # #
** # # # #
** # # # #
** # # # # #
** # # # # # #
** 7 4 0 8 4 0 1 2
**
**
** L'allievo scriva il programma
** in modo da soddisfare le specifiche richieste e
** SENZA MODIFICARE IL CODICE.
**
** Un file "matrice.txt" fornito contiene i dati dell'esempio e puo' essere
** usato per verificare la correttezza del programma sviluppato.
**
*/
#include<stdio.h>
#include<stdlib.h>
int lettura(int mat[][5], int *r, int *c);
float calcolomedia(int mat[][5], int r, int c);
int elimina(int mat[][5], int r, int c, int vett[], float media);
void stampa(int vett[], int dim);
main()
{
int mat[5][5];
int r,c,val,i,j;

val=lettura(mat,&r,&c);

if(val==0)
{
printf("Errore caricamento file.");
return 0;
}

else if(val==1)
{

/*stampa matrice*/
printf("RISULTATO DELLA COMPUTAZIONE\n");
printf("Matrice letta\n");
printf("righe%d,colonne%d\n",r,c);
for(i=0;i<r;i++)
{
for(j=0;j<c;j++);
{
printf("%d\t",mat[i][j]);
}
printf("\n");
}


}
system("pause");
}
int lettura(int mat[5][5], int *r, int *c)
{
FILE*f;
char nf[15];
int i,j,k;


printf("Inserire il nome del file:");
scanf("%s",nf);
f=fopen(nf,"r");

if ((f!=NULL)&& feof(f)==0)
{
fscanf(f,"%d",r);
fscanf(f,"%d",c);
printf("righe%d,colonne%d",*r,*c);
for(i=0;i<*r;i++)

for(j=0;j<*r;j++)


fscanf(f,"%d",& mat[i][j]);




return 1;
}
else
return 0;
for(i=0;i<*r;i++)
{
for(k=0;k<*c;k++)
{
if(mat[i][k]<0)
{
mat[i][k]=mat[i][k]*(-1);
}
else
{
}

}
}



}
float calcolomedia(int mat[][5], int r, int c)
{

}
int elimina(int mat[][5], int r, int c, int vett[], float media)
{

}
void stampa(int vett[], int dim)
{

}

oregon
24-03-2014, 19:52
Usa i tag CODE per il codice altrimenti non si capisce ...

SSSS90
24-03-2014, 22:33
Ciao,grz della risposta,ma sono nuovo del forum.cosa sono i tag code e come si usano?in ogni caso non basta fare copia incolla nel tuo compilatore...?non pi veloce? grazie ancora..

oregon
25-03-2014, 10:37
Ciao,grz della risposta,ma sono nuovo del forum.cosa sono i tag code e come si usano?in ogni caso non basta fare copia incolla nel tuo compilatore...?non pi veloce? grazie ancora..

Hai gi risolto in

http://www.iprogrammatori.it/forum-programmazione/cplusplus/problema-visualizzazione-video-una-matrice-t20195.html

:nonono:

SSSS90
25-03-2014, 18:27
grz..lo stesso.. ciao

Loading