Как сделать цикл в цикле С++

Передо мной поставлена задача: я должен организовать вывод чисел в форме матрицы и обеспечить приравнивание столбца матрицы к строчке. Я знаю, что я должен сделать цикл в цикле. 1 цикл будет проверять столбец, а 2 будет искать такую же строчку. Вот только проблема: я не знаю, как это сделать и как правильно записать код.

Мне надо сделать это для матрицы NxN, и искать я должен одинаковые строчки и столбцы. Также программа в конце должна вывести количество одинаковых столбцов и строк. Например, матрица 3х3:

1 2 3 
2 3 1 
3 2 1

Вот поскольку в этой матрице одинаковые первый столбец и первая строка, то в конце программа должна показать мне, что мое k = 1. Если бы одинаковые были 2 столбец и вторая строчка, то k равно 2. Сам я сумел только организовать вывод введённых чисел в форме матрицы. Вот код:

#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "RUS");
    int i, j, N, a[20][20];
    cout << "N="; 
    cin >> N;
        
    cout << "Input matrix A \n";
    
    for (i = 0; i < N; i++)         
        for (j = 0; j < N; j++)
            cin >> a[i][j]; 
    cout << "matrix A \n";
    for (i = 0; i < N; i++)
    {
            
        for (j = 0; j < N; j++)
            cout << a[i][j] << "\t"; 
        cout << endl; 
    }
    system("pause");
    return 0;
}

Ответы (1 шт):

Автор решения: azhirov1991
#include <iostream>

using namespace std;

const unsigned int DIM = 4;

int main()
{
    int count = 0;
    int arr[DIM][DIM];

    // Заполнение массива
    for(int i = 0; i < DIM; i++)
        for(int j = 0; j < DIM; j++)
            cin >> arr[i][j];
    
    // Вывод массива
    for(int i = 0; i < DIM; i++)
    {
        for(int j = 0; j < DIM; j++)
            cout << arr[i][j] << ' ';
        cout << endl;
    }    
    
    cout << endl;
    
    for(int i = 0; i < DIM; i++)
    {
        count = 0;
        for(int j = 0; j < DIM; j++)
            if(arr[i][j] == arr[j][i])
                count++;
        if(count == DIM)
            cout << i + 1 << " строка и " << i + 1 << " столбец равны" << endl;
    }

    return 0;
}

Как-то так... Пробуйте.

P.S. Это при условии, что И в сравниваемой строке И в сравниваемом столбце цифры НЕ повторяются (судя по вашим примерам - так и есть).

→ Ссылка