Ciao,
devo fare un programma che, data una matrice RxC, dica se ha una cornice di zeri oppure no.
Il problema è che mi dice che ha una cornice di zeri solo quando tutti gli elementi sono degli zeri.
Ciao e graziecodice:#include<stdio.h> int main() { int r, c, nr, nc, tot, op; float matrice[100][100], val; printf("Inserici il numero di righe\n"); scanf("%d", &nr); printf("Inserici il numero di colonne\n"); scanf("%d", &nc); printf("Dati per la matrice quadrata:\n"); for(r=0; r<nr; r++) { for(c=0; c<nc; c++) { printf("Inserisci i dati della posizione matrice [%d][%d]", r+1,c+1); scanf("%f", &val); matrice [r][c]=val; while(getchar()!='\n'); //Serve per pulire il buffer di tastiera } } tot=nr*2+(nc-2)*2; //Tot è il numero degli elementi della cornice della matrice op=ver(matrice,tot,nr,nc); if(op==1) printf("La matrice ha una cornice di zeri\n"); else printf("La matrice non ha una cornice di zeri\n"); system("pause"); return 0; } //Implementazione della funzione per la verifica int ver(float mat[][100], int totale, int righe, int colonne) { int x, y, tot=0; for(x=0; x<righe; x++) { for(y=0; y<colonne; y++) { if(mat [x][0]==0 || mat [x][colonne-1]==0 || mat [0][y]==0 || mat [righe-1][y]==0) tot++; } } if(tot==totale) return 1; else return -1; }

Rispondi quotando
