Array bidimensionili
Salve ragazzi,
volevo chiedervi se potreste spiegarmi come funzionano gli esercizi con gli array bidimensionali..
Ho un esercizio che mi chiede di scrivere un programma che inializza e visualizza una matrice di interi in cui ciascun elemento è dato dalla somma dei proprio indici..
Io partirei dicendo facendo:
#include
int main(void)
{
int i, j;
int mat[4][3];
for(i=0; i<4; i++)
for(j=0; j<3; j++) // in questo modo scorro sia righe e colonne
Però il mio problema sarebbe come e cosa fare per visualizzare ciò che dice l esercizio..ho provato tipo a fare:
for(j=0; j<3; j++){
printf("%d", j);
}
for(i=0; i<4; i++) {
printf("%d\n", i);
}
e così mi esce la matrice:
0 1 2 0
1
2
3
con uno 0 in più..vorrei capire come fare..non voglio l esercizio già svolto altrimenti non concludo niente..grazie mille a tutti..attendo vostre risposte
volevo chiedervi se potreste spiegarmi come funzionano gli esercizi con gli array bidimensionali..
Ho un esercizio che mi chiede di scrivere un programma che inializza e visualizza una matrice di interi in cui ciascun elemento è dato dalla somma dei proprio indici..
Io partirei dicendo facendo:
#include
int main(void)
{
int i, j;
int mat[4][3];
for(i=0; i<4; i++)
for(j=0; j<3; j++) // in questo modo scorro sia righe e colonne
Però il mio problema sarebbe come e cosa fare per visualizzare ciò che dice l esercizio..ho provato tipo a fare:
for(j=0; j<3; j++){
printf("%d", j);
}
for(i=0; i<4; i++) {
printf("%d\n", i);
}
e così mi esce la matrice:
0 1 2 0
1
2
3
con uno 0 in più..vorrei capire come fare..non voglio l esercizio già svolto altrimenti non concludo niente..grazie mille a tutti..attendo vostre risposte


Risposte
Ti sta chiedendo di inserire in ogni elemento la somma dei propri indici per cui dovrai scrivere qualcosa del genere all'interno del tuo ciclo:
mat[i][j] = i+j;
Ma devo fare per ogni for un printf ? oppure posso scrivere
for(i=0; i<4; i++)
for(j=0; j<3; j++) {
mat[j]= i+j;
}
printf("%d", i,j);
?
però in questo modo non esce..
for(i=0; i<4; i++)
for(j=0; j<3; j++) {
mat[j]= i+j;
}
printf("%d", i,j);
?
però in questo modo non esce..
Se vuoi stampare i valori devi fare un printf all'interno dei cicli. Non puoi metterlo fuori.
chiarissimo