Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <locale.h>
- #include <windows.h>
- #include <cmath>
- using namespace std;
- int Check(int MIN, int MAX)
- {
- bool IsCorrect;
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- int Num;
- IsCorrect = TRUE;
- do {
- try {
- cin >> Num;
- if ((Num > MIN) && (Num < MAX))
- {
- IsCorrect = FALSE;
- }
- else {
- cout << "Ошибка! Введите число от " << MIN << " до " << MAX << endl;
- cin.clear();
- cin.ignore();
- IsCorrect = TRUE;
- }
- }
- catch(exception e) {
- cout << "Ошибка! Введите число от " << MIN << " до " << MAX << endl;
- cin.clear();
- cin.ignore();
- }
- }
- while (IsCorrect);
- return Num;
- }
- int СheckSymmetry(int Num1, int Num2, int m)
- {
- if (Num1 != Num2)
- {
- m = 1;
- }
- return m;
- }
- int main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- const int MIN_N = 2;
- const int MAX_INT = INT_MAX;
- const int MIN_INT = INT_MIN;
- int N = 0;
- int k = 0;
- int i;
- int m = 0;
- cout << "Задача: Дана квадратная матрица А порядка N. Проверить, является ли данная матрица симметричной." << endl << "Введите N (порядок квадратной матрицы)" << endl;
- N = Check(MIN_N, MAX_INT);
- int** Matr = new int* [N];
- for (int i = 0; i < N; i++)
- {
- Matr[i] = new int[N];
- }
- cout << "Введите элементы матрицы";
- for (i = 0; i < N; i++) {
- for (k = 0; k < N; k++) {
- cout << "Введите А[" << (i + 1) << "][" << (k + 1) << "]" << endl;
- Matr[i][k] = Check(MIN_INT, MAX_INT);
- }
- }
- for (i = 0; i < N; i++) { // Проверка на симметричность
- for (k = 0; k < N; k++) {
- m = СheckSymmetry(Matr[i][k], Matr[k][i], m);
- }
- }
- cout << "Введенная матрица:"; // Вывод матрицы
- for (i = 0; i < N; i++) {
- cout << endl;
- for (k = 0; k < N; k++) {
- cout << Matr[i][k] << " ";
- }
- }
- if (m == 0) // Вывод сообщения о симметричности
- cout << endl << "Введенная матрица симметрична" << endl;
- else
- cout << endl << "Введенная матрица несимметрична" << endl;
- return 0;
- }
- int test()
- {
- main();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement