PDA

View Full Version : [c]cosa sbaglio?


emiliano30
18-05-2005, 11:45
/*Esercizio 12 evidentemente faccio qualche caxxata :help:


[CODE]/*Esercizio 12
Scrivere un programma C che inizializza una matrice 20x20 con numeri interi random
tra 1 e 1000 e la visualizza sullo schermo. Poi calcola, e restituisce in output,
un vettore di lunghezza 20 che contiene il massimo tra i valori contenuti in ogni
riga .*/


#include<stdlib.h>
#include<stdio.h>
int main()
{
int mat[20][20];
int vett[20];
int i,j,k,max;
for (i=0;i<20;i++){
for (j=0;j<20;j++){
mat[i][j]=1+(rand()%1000);

printf("%d",mat[i][j]);
}
}
printf("questa č la matrice riempita\n");
j,i,k=0;
max=mat[0][0];
do{
for(i=0;i<20;i++){
if(mat[i][j]>max){
max=mat[i][j];
vett[k]=mat[i][j];
}


k++;
j++;
i=0;

}


}while(k<20);
printf("massimo->%d",vett[k]);
return 0;
system("PAUSE");
}
/*Esercizio 12

cionci
18-05-2005, 12:23
Qui:

do{
for(i=0;i<20;i++){
if(mat[i][j]>max){
max=mat[i][j];
vett[k]=mat[i][j];
}


k++;
j++;
i=0;

}


}while(k<20);

Fai due for da 0 a 19 con indice i il primo ed il secondo da 1 a 19 con indice j...

All'interno del ciclo esterno Inizializza vett[i] a mat[i][0].
In quello pių interno: se vett[i] < mat[i][j] allora metti mat[i][j] in vett[i]...la printf la devi fare nel ciclo pių esterno quando esci dal ciclo interno...

ilsensine
18-05-2005, 12:27
Non male la riga j,i,k=0 :D
Forse intendevi j=i=k=0 ?

cionci
18-05-2005, 12:34
Me l'ero persa :)

emiliano30
18-05-2005, 13:19
me l'ero persa anche io...... :huh: