Решить задачу С++
Дано:
Три квадратные матрицы А[N,N], B[K,K] и С[L,L]. Определить есть ли среди них симметричная матрица (то есть такая, которая совпадает со своей транспонированной матрицей.) Транспонирование матрицы оформить как функцию. Проверку на симметричность оформить как функцию.
По дате
По рейтингу
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
#include <iostream>
const int MAX_SIZE = 100;
void transposeMatrix(int matrix[][MAX_SIZE], int size)
{
for (int i = 0; i < size; i++)
{
for (int j = i + 1; j < size; j++)
{
// Обмен значениями элементов
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
bool isSymmetricMatrix(int matrix[][MAX_SIZE], int size)
{
for (int i = 0; i < size; i++)
{
for (int j = i + 1; j < size; j++)
{
// Проверка на равенство элементов и их транспонированных значений
if (matrix[i][j] != matrix[j][i])
return false;
}
}
return true;
}
int main()
{
int A[MAX_SIZE][MAX_SIZE];
int B[MAX_SIZE][MAX_SIZE];
int C[MAX_SIZE][MAX_SIZE];
int N, K, L;
std::cout << "Enter the size N for matrix A: ";
std::cin >> N;
std::cout << "Enter the elements of matrix A:" << std::endl;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
std::cin >> A[i][j];
}
}
std::cout << "Enter the size K for matrix B: ";
std::cin >> K;
std::cout << "Enter the elements of matrix B:" << std::endl;
for (int i = 0; i < K; i++)
{
for (int j = 0; j < K; j++)
{
std::cin >> B[i][j];
}
}
std::cout << "Enter the size L for matrix C: ";
std::cin >> L;
std::cout << "Enter the elements of matrix C:" << std::endl;
for (int i = 0; i < L; i++)
{
for (int j = 0; j < L; j++)
{
std::cin >> C[i][j];
}
}
transposeMatrix(A, N);
transposeMatrix(B, K);
transposeMatrix(C, L);
if (isSymmetricMatrix(A, N))
std::cout << "Matrix A is symmetric." << std::endl;
else
std::cout << "Matrix A is not symmetric." << std::endl;
if (isSymmetricMatrix(B, K))
std::cout << "Matrix B is symmetric." << std::endl;
else
std::cout << "Matrix B is not symmetric." << std::endl;
if (isSymmetricMatrix(C, L))
std::cout << "Matrix C is symmetric." << std::endl;
else
std::cout << "Matrix C is not symmetric." << std::endl;
return 0;
}