tonno16 |
|
| bhe sono arrivato ad una conclusione dell' esercizio lavorando sulla condizione finale. MI auguro di aver fatto bene, inoltre la professoressa ha convalidato l'esercizio. posto qui nel caso qualcuno gli servisse: CITAZIONE CODICE #include <stdio.h> #include <stdlib.h>
int main(){ int i,n,rig=0; //k per le righe int numero[10][10]; int sommadiagonale1=0, sommadiagonale2=0; int primasomma,somma_riga=0,somma_colonna=0; printf(" PROGRAMMA CHE DATA UNA MATRICE IN INPUT VERIFICHI SE E UN QUADRATO MAGICO \n\n"); while(rig<=0){ printf(" inserisci il grado dellamatrice quadrata (MAX 10)--> "); scanf("%d", &rig); } // ********** INSERIMENTO TERMINI **************** for(i=1;i<=rig;i++){ for(n=1;n<=rig;n++){ printf(" inserisci il numero di posizione-> riga %d colonna %d \n", i,n); scanf("%d", &numero[i][n]); } } // ********** STAMPA A VIDEO DELLA MATRICE ******** printf("\n\n stampa della matrice\n\n"); for(i=1;i<=rig;i++){ for(n=1;n<=rig;n++){ printf(" %d ", numero[i][n]); } printf("\n\n"); } // CALCOLO SOMMA DIAGONALE PRINCIPALE 1******** for(i=1;i<=rig;i++){ for(n=1;n<=rig;n++){ if(i==n){ sommadiagonale1=sommadiagonale1+numero[i][n]; } } } // ***** CALCOLO SOMMA DIAGONALE SECONDARIA 2 i=1; for(n=rig;n>0;n--){ sommadiagonale2=sommadiagonale2+numero[i][n]; i++; } // ***** definisco la variabile PRIMA SOMMA che è la somma della prima riga. for (n=1;n<=rig;n++){ somma_riga=somma_riga+numero[1][n]; // sommo gli elementi della prima riga } primasomma=somma_riga; printf("prima somma = %d \n\n",primasomma); // ****** CALCOLO SOMME DELLE RIGHE E VERIFICA SE RIGA SCANSIONATA è UGUALE ALLA RIGA[1] for(n=1;n<=rig;n++){ somma_riga=0; for(i=1;i<=rig;i++){ somma_riga=somma_riga+numero[n][i]; // somma tot RIGA il PRIMO termine decide 1° riga..2°riga } if(somma_riga!=primasomma) {break;} } // ****** CALCOLO SOMME DELLE COLONNE E VERIFICHA SE SONO UGUALI for(i=1;i<=rig;i++){ somma_colonna=0; for(n=1;n<=rig;n++){ somma_colonna=somma_colonna+numero[n][i]; // somma tot COLONNA il PRIMO termine decide 1° COLONNA..2°COLONNA } if(somma_colonna!=primasomma){ break; } } printf("prima somma = %d\n", primasomma); printf("somma_riga = %d\n", somma_riga); printf("somma_colonna = %d\n", somma_colonna); printf("sommadiagonale1 = %d\n", sommadiagonale1); if(primasomma==somma_riga && primasomma==somma_colonna && primasomma==sommadiagonale1 && primasomma==sommadiagonale2){ printf("\n\n il quadrato inserito e' magico \n\n"); } else { printf("\n\n il quadrato inserito non e magico \n\n"); }
system("pause"); return 0; }
|
| |