Salve a tutti, sono alle prese con questo esercizio:
Ho realizzato l'algoritmo in C, tenendo conto che restituisce 1 al posto di TRUE e 0 invece che FALSE:
ll problema è che mi restituisce in ogni caso 0, e nn riesco ad individuarne il motivo. Qualcuno può aiutarmi?codice:#include <stdio.h> main(){ int m, n, i, j; int a[50][50]; int diverse, trovate; /* inizializzazione e riempimento vettore*/ printf("m?\n"); scanf("%d", &m); printf("n?\n"); scanf("%d", &n); for(i = 0; i < m; i++){ for(j = 0; j < n; j++){ printf("Valore in %d%c%d\n", i, ',', j); scanf("%d", &a[i][j]); } } for(i = 0; i < m; i++){ for(j = 0; j < n; j++){ printf(" %d", a[i][j]); } printf("\n"); } i = 0; j = 0; diverse = 0; trovate = 0; /*controllo colonne*/ while(trovate == 0 && j < n-1){ while(i < m && diverse == 0){ diverse = 0; if(a[i][j] != a[i][j+1]){ diverse = 1; } i++; } if(i == m){ trovate = 1; } j++; i = 0; } if(trovate == 1){ /*controllo righe*/ i = 0; j = 0; diverse = 0; trovate = 0; while(trovate == 0 && i < m-1){ while(j < n && diverse == 0){ diverse = 0; if(a[i][j] != a[i+1][j]){ diverse = 1; } j++; } if(j == n){ trovate = 1; } i++; j = 0; } } /*se trovate = 1 allora esistono 2 righe e 2 colonne uguali*/ printf("%d\n", trovate); }


Rispondi quotando