#include <iostream>
using namespace std;

int main() {
	/*
		Задание 1.
		Определить является ли квадратная матрица A[N, N] симметричной
		относительно главной диагонали. Матрица вводится с клавиатуры.
	*/
	/*cout << "Task 1:" << endl;

	// Инициализация
	const int N = 5;
	int A[N][N] = {};

	// Ввод
	cout << "Enter matrix (" << N << "x" << N << "):" << endl;
	for (int i = 0; i < N; i++) {
		cout << "Row " << i + 1 << ": ";
		for (int j = 0; j < N; j++) cin >> A[i][j];
	}

	// Проверка на симметричность
	bool isSymmetric = true;
	for (int i = 0; i < N; i++) {
		for (int j = 0; j < N; j++) {
			if (A[i][j] != A[j][i]) {
				isSymmetric = false;
				break;
			}
		}
	}

	// Вывод
	cout << endl;
	if (isSymmetric) cout << "Matrix is symmetric";
	else cout << "Matrix isn't symmetric";
	cout << endl;*/
	

	/*
		Задание 2.
		Дан двумерный статический массив действительных чисел размером N1xN2.
		Поменять местами строки с номерами 0 и 2, 3 и 5, 6 и 8 и т.д.
	*/
	cout << endl << "Task 2:" << endl;

	// Инициализация
	const int N1 = 10, N2 = 4;
	int B[N1][N2] = {};

	// Генерация
	srand((int)time(0) * 999);
	for (int i = 0; i < N1; i++)
		for (int j = 0; j < N2; j++)
			B[i][j] = rand() % 1000;

	// Вывод до перемещения строк
	cout << "Before swap:" << endl;
	for (int i = 0; i < N1; i++) {
		for (int j = 0; j < N2; j++) {
			cout.width(4);
			cout << B[i][j];
		}
		cout << endl;
	}

	// Перемещение строк
	for (int i = 0; i < N1-2; i += 3) swap(B[i], B[i+2]);

	// Вывод после перемещения строк
	cout << endl << "After swap:" << endl;
	for (int i = 0; i < N1; i++) {
		for (int j = 0; j < N2; j++) {
			cout.width(4);
			cout << B[i][j];
		}
		cout << endl;
	}

	return 0;
}