Проверка чисел в массиве и последующее сравнение их значений - PullRequest
0 голосов
/ 27 ноября 2018

Где я могу исправить код таким образом, чтобы я мог проверить, имеют ли числа в любой строке одинаковые значения (например: если матрица равна 3 * 3, то, например, для первой строки каждое число равно 1)

#include <iostream>

using namespace std;

int main ()

{
    int n;
    cout<< "Kvadrat husnegtiin iremb:" <<endl ;
    cin>> n;
    int A[n][n];
    for (int i = 0 ; i < n ; ++i )
    {
        for (int j = 0 ; j < n; ++j )
        {
            cout<< "["<< i<< "]"<< "["<< j<< "]"<< " Element"<< endl;
            cin>> A[i][j] ;
        }
    }
    for ( int i = 0 ; i < n ; ++i )
    {
        int B1 = A [i] [0] ;
        for ( int j = 0 ; j < n; ++j )
        {
            if (B1 == A [i] [j] )
            {
                cout<< i<< "Baina"<< endl;
            }
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Вы можете использовать флаг, чтобы проверить, есть ли другое значение в вашем цикле.

Например:

for (int i = 0; i < n; ++i)
{
    int B1 = A[i][0];
    bool IsDifferent = false;
    for (int j = 0; !IsDifferent && j < n; ++j)
    {
        if (B1 != A[i][j]) //Notice the inverted condition
        {
            IsDifferent = true;
        }
    }
    if (!IsDifferent)
        cout << "Line " << i << " has equal values." << endl;
}
0 голосов
/ 27 ноября 2018
for ( int i = 0 ; i < n ; ++i ) {
  bool all_equal = true;

  for ( int j = 1 ; all_equal && j < n; ++j ) {
    all_equal = A[i][j] == A[i][0];
  }

  if ( all_equal )
    cout << "row " << i << " has equal values" << endl; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...