Не могу понять почему слово симметрична выводится 16 раз, n и m равны 4, и такое ощущение что код как то эти значения умножает. В чем ошибка ? вот код:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, const char * argv[])
{
setlocale(LC_CTYPE, "rus");
const unsigned int n = 4;
const unsigned int m = 4;
int arr[n][m] = {
{ 1, 2, 3, 4 },
{ 2, 1, 7, 6 },
{ 3, 7, 1, 0 },
{ 4, 6, 0, 1 }
};
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << setw(2) << arr[i][j];
}
cout << endl;
}
bool flag = true;
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
if (arr[i][j] != arr[j][i])
{
flag = false;
cout << "Не симметрична" << endl;
break;
}
else if
(flag == true)
cout << "Симметрична" << endl;
system("pause");
return 0;
}
Вы 16 раз сравниваете два числа, и для каждого сравнения (а они все у вас успешно равны) просите вывести "Симметрична". Все, как попросили...
bool flag = true;
for (int i = 0; i < n; ++i)
for (int j = i+1; j < n; ++j)
if (arr[i][j] != arr[j][i])
{
flag = false;
break;
}
cout << (flag ? "Симметрична" : "Несимметрична") << endl;
Вот так несколько получше... Кстати, обратите внимание на
for( int j = i+1;
Там проверка с 0 не нужна.
for (int i = 0; i < n && flag; ++i)
for (int j = 0; j < n && flag; ++j)
if (arr[i][j] != arr[j][i])
flag = false;
if (flag)
cout << "Симметрична" << endl;
else
cout << "Не симметрична" << endl;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь добавить Qt5 в готовый проектВозникли две ошибки: undefined reference to "_imp___ZN12QApplicationC1ERiPPci' и undefined reference to "_imp___ZN12QApplicationD1Ev'
помогите разобраться , нужно написать программу решающее уравнение (a+b-c), но нужно сделать так чтобы если какое либо поле было не заполнено...
Вчера в задание надо было создать массив который выводил бы данные в обратном порядкеСделал не массив а String str1 = " Football "; // Обьявляем строку...