RinoDrummer icon

Confronto righe

RinoDrummer | PRO | 12/16/16 06:19:35 PM UTC | 0 ⭐ | 386 👁️ | Never ⏰ | []
C |

1.5 KB

|

None

|

0 👍

/

0 👎

/*Sia data una matrice di interi dimensioni M X N.Scrivere una funzione che restituisca TRUE 
se vi sono due righe e due colonne consecutive di elementi uguali tra loro*/
 
#include<stdio.h>
 
#define SIZER 4
#define SIZEC 5
 
int confronto(int matrice[SIZER][SIZEC]) {
    int r = 0, c = 0, result = 0, isUguale = 0;
    
    //printf("Start:\n");
    
    while ((r < SIZER - 1) && !isUguale) {
        while ((c < SIZEC - 1) && !isUguale) {
            //printf("\tmatrice[%d][%d]: %d - matrice[%d][%d]: %d;\n", r, c, matrice[r][c], r, c + 1, matrice[r][c + 1]);
            //printf("\tmatrice[%d][%d]: %d - matrice[%d][%d]: %d;\n\n", r, c, matrice[r][c], r + 1, c + 1, matrice[r + 1][c + 1]);
            if (matrice[r][c] == matrice[r][c + 1]) {
                //printf("\t\tPassed 1;\n");
                if ((matrice[r][c] == matrice[r + 1][c]) && (matrice[r][c] == matrice[r + 1][c + 1])) {
                    //printf("\t\tPassed 2;\n");
                    isUguale = 1;
                }
                else {
                    c++;
                }
            }
            else {
                 c++;
            }
        }
        
        c = 0;
        r++;
     }
    
    return isUguale;
}
 
int main() {
    int matrice[SIZER][SIZEC]= {
        {21, 31, 54, 74, 59},
        {31, 31, 74, 74, 59},
        {51, 31, 74, 74, 59},
        {21, 31, 34, 44, 59}
    };
    
    if (confronto(matrice)) {
        printf("TRUE\n");
    }
    else {
        printf("FALSE\n");
    }
    
    system("pause");
    return 0;
}

Comments