Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Техник55
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 351
1

Является ли квадрат магическим

20.11.2015, 07:57. Просмотров 285. Ответов 3
Метки нет (Все метки)

Добрый день.
Нужно проверить магический квадрат, ввиде массива, где суммы по всем столбцам, строкам и диагоналям равны.
Прогу вроде написал, суммы все вычислил, а вот как запустить цикл, чтобы сравнить суммы и в конце(один раз) вывести результат не до конца пойму)) Подобные посты видел, но как именно этот момент не понятен...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{
using namespace std;
int x[3],y[3],a[3][3],i,j,F,Z,n;
Z=0;
F=0;
printf("Vvedite razmernost massiva \n");
scanf("%d",&n);
for (i=0;i<3;i++){
                  x[i]=0;}
for (j=0;j<3;j++){
                  y[j]=0;}
 
printf("Vvedite masssiv\n");
for (i=0;i<3;i++){
  for (j=0;j<3;j++)
      cin>>a[i][j]; // Вводим массив
                 }
system("cls");
for (i=0;i<3;i++){
  for (j=0;j<3;j++){
                    cout<<a[i][j]<<"  "; Выводим массив
                    }
  cout<<endl;
}
cout<<endl;
for (i=0;i<3;i++){
  for (j=0;j<3;j++){
              x[i]+=a[i][j]; //Создаем массив по суммама строк
              y[j]+=a[i][j];  //Создаем массив по суммама столбцов
              if (i==j) Z+=a[i][j]; //Вычисляем сумму по основной диагонали
              if (i+j==n-1)F+=a[i][j]; //Вычисляем сумму по побочной диагонали
                    }
}
 
printf("Summa po strokam\n");
for (i=0;i<3;i++){
                  cout<<x[i]<<"  "<<endl;
                 }
cout<<endl;
printf("Summa po stolbtcam\n");
for (i=0;i<3;i++){
                  cout<<y[i]<<"  "<<endl;
                 }
cout<<endl;
printf("Summa po osnov diag=%d\n",Z);
cout<<endl;
printf("Summa po poboch diag=%d\n",F);
cout<<endl;
 
system("pause");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2015, 07:57
Ответы с готовыми решениями:

Определить является ли введенный квадрат магическим и есть ли среди его чисел не простые числа
Задали д/з , помогите , не нашёл похожей темы Магическим квадратом...

Является ли магическим квадратом?
Здравствуйте! Есть задание: Динамически выделить память под N2 элементов...

Является ли матрица магическим квадратом
Является ли матрица магическим квадратом

Является ли матрица магическим квадратом
Определить, является ли заданная целочисленная квадратная матрица порядка 9...

Проверка, является ли матрица магическим квадратом
Разработать алгоритм и программу. Дана матрица B размерностью n x n (2&lt;=n&lt;=10 –...

3
zss
Модератор
Эксперт С++
7770 / 7005 / 4396
Регистрация: 18.12.2011
Сообщений: 18,523
Завершенные тесты: 1
20.11.2015, 08:15 2
C++
1
2
3
4
5
6
7
8
bool ok=(Z==F);
for(i=0;i<3;i++)
   if(x[i]!=Z || y[i]!=Z)
      ok=false;
if(ok)
  cout<<"Magic";
else
  cout<<"Not Magic";
1
Техник55
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 351
22.11.2015, 11:15  [ТС] 3
Цитата Сообщение от zss Посмотреть сообщение
C++Выделить код
1
2
3
4
5
6
7
8
bool ok=(Z==F);
for(i=0;i<3;i++)
* *if(x[i]!=Z || y[i]!=Z)
* * * ok=false;
if(ok)
* cout<<"Magic";
else
* cout<<"Not Magic";
Спасибо, вроде отрабатывает правильно, но не совсем понятно как работает?! Можете в кратце пояснить как функция bool работает???
Заранее благодарен...
0
zss
Модератор
Эксперт С++
7770 / 7005 / 4396
Регистрация: 18.12.2011
Сообщений: 18,523
Завершенные тесты: 1
22.11.2015, 12:08 4
Техник55,
C++
1
2
3
4
5
6
7
8
9
bool ok=(Z==F); // присваиваем ok значение условия Z==F 
// т.е. если равны, то ok будет истиной
for(i=0;i<3;i++)
   if(x[i]!=Z || y[i]!=Z)
      ok=false; // ok станет ложью, если какое-то из x или y не равно Z 
if(ok)
  cout<<"Magic";
else
  cout<<"Not Magic";
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2015, 12:08

Определить является ли матрица магическим квадратом
Имеется массив 3х3. определить является ли такая матрица магическим квадратом....

Определить, является ли матрица магическим квадратом
помогите решить :sorry: 1)Дана целая квадратная матрица n-го порядка....

Определить, является ли матрица магическим квадратом
6. Дана целая квадратная матрица п-го порядка. Определить, является ли она...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru