Salve a tutti, avrei bisogno di un aiutino su questo esercizio: input di una matrice (possibilmente quadrata), inserimento dei valori sulle diagonali in un vettore, output della matrice e del vettore contenente i valori.
Mi sono bloccato in un punto: non riesco a trovare un modo per stampare il vettore dei valori delle diagonali
Vi ringrazio in anticipo!codice:#include <stdio.h> #define max 10 /*PROTOTIPI*/ void dimensioni(int matrice[max][max], int *righe, int *col); void input(int matrice[max][max], int righe, int col); void diagonali(int matrice[max][max], int righe); void output(int matrice[max][max], int righe, int col); /*FUNZIONE MAIN*/ int main(void) { int matrice[max][max], righe, col; dimensioni(matrice, &righe, &col); input(matrice, righe, col); diagonali(matrice, righe); output(matrice, righe, col); return 0; } /*DIMENSIONE MATRICE*/ void dimensioni(int matrice[max][max], int *righe, int *col) { printf("Numero righe: "); scanf("%d", righe); printf("Numero colonne: "); scanf("%d", col); } /*INPUT MATRICE*/ void input(int matrice[max][max], int righe, int col) { int i, j; for(i=0;i<righe;i++) { for(j=0;j<col;j++) { printf("Immetti valore [%d][%d]: ", i, j); scanf("%d", &matrice[i][j]); } } } /*DIAGONALI MATRICE*/ void diagonali(int matrice[max][max], int righe) { int i, j; int v[max]; j=0; for(i=0;i<righe;i++) { v[j++]=matrice[i][i]; if(matrice[i][i]!=matrice[i][righe-1-i]) v[j++]=matrice[i][righe-1-i]; } for(j=0;j< /*Qui non so come stampare i valori*/ printf("%d ", v[j]); } } /*OUTPUT MATRICE*/ void output(int matrice[max][max], int righe, int col) { int i, j; for(i=0;i<righe;i++) { for(j=0;j<col;j++) { printf("%d ", matrice[i][j]); } printf("\n"); } }

Rispondi quotando
