«

»

C++. Матрицы. Задача 6

Программа проверяет, является ли введенная с клавиатуры квадратная матрица «магическим» квадратом. «Магическим» квадратом называется матрица, у которой сумма чисел в каждом горизонтальном ряду, в каждом вертикальном и по каждой из диагоналей одна и та же.

Решение:

 

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
#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{setlocale(LC_ALL,"Rus");
const int n=3, k=3;
int i=0, j=0, mas[n][k], x=-1, str=0, stb=0, g_d=0, p_d=0;
for (i=0; i<n; i++) //ввод массива
{
for (j=0; j<k; j++)
cin>>mas[i][j];
g_d+=mas[i][i];
}
for (i=n-1; i>=0; i--)
{
x++;
p_d+=mas[x][i];
}
x=n;
for (i=0; i<n; i++)
{
for (j=0; j<k; j++)
{
str+=mas[i][j];
stb+=mas[j][i];
}
if ((str==stb)&&(stb==g_d)&&(g_d==p_d))
x=x-1;
str=0; stb=0;
}
if (x==0)
cout<<" Матрица \"магическая\" ";
else
cout<<" Матрица не является \"магической\" ";
system("pause>>void");
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вы можете использовать эти теги HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Проверка на человечность *