Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Xex
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 5
#1

Обработка массивов - C++

02.12.2009, 13:42. Просмотров 392. Ответов 2
Метки нет (Все метки)

Задание:Дана целая квадратная матрица. Определить, является ли она магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы.

Немогу понять саму суть определения магического квадрата...Помогите с этой частью кода
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2009, 13:42     Обработка массивов
Посмотрите здесь:

С. Обработка массивов - C++
Реализовать на языке С. Дана квадратная матрица порядка М. Найти суммы элементов ее диагоналей, параллельных побочной(начиная с...

обработка массивов - C++
используя технологию структурного программирования, разработать программу обработки одномерных и двумерных (матриц) массивов в соответствии...

Обработка массивов - C++
Всем доброго времени суток. Помогите, пожалуйста, с задачей. Задан целочисленный массив X из 20 элементов, среди которых есть...

Обработка массивов - C++
:sorry:Дана целочисленная прямоугольная матрица. Определить: сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный...

Обработка массивов - C++
1)Дано одномерный массив размерностью N, найти на каком месте находится элемент который равняется 3. 2)Заполнить матрицу елементами...

Обработка массивов - C++
Ввести массивы А и В. В массив С скопировать те элементы, которые есть и в массиве А и в массиве В. Из массива В ...

Обработка массивов - C++
Не знаю как сделать, а нужно срочно 1. Каждый пятый элемент массива А заменить максимальным из четырех предыдущих. 2. Положительные...

Обработка массивов - C++
Задание: Дана матрица А(n,m). Сформировать массив В(m), каждый элемент которого есть сумма четных элементов соответствующего столбца...

Обработка массивов - C++
Задание Вводити з клавіатури масиви та обробляти їх, доки на запит “Хочете продовжувати роботу далі (да, ні) ?” користувач не відповість...

Обработка массивов - C++
Написать программу вычисления величины K, обратной произведению тех элементов массива b1,b2,…,bn, для которых выполнимо: 2i<bi<i!. Если...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Акелла
Сонный металюга
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295
02.12.2009, 13:47     Обработка массивов #2
как я понял из твоего описания - надо просто посчитать сумму элементов строк и столбцов. по отдельности конечно - т.е. посчитал сумму 1-ой строки, 2-ой....Н-ой.. сравнил - совпало - ништяк.. так же со столбцами.... и если правильно понял должны совпадать еще и суммы столбцов и строк.

наверное если матрица у тебя:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
то это то что надо
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.12.2009, 16:51     Обработка массивов #3
Если n - размерность массива, а mas[][] - ранее заполненный массив, то так:
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
int kontr_sum=0, i, j, temp, kontr=1;
for(i=0; i<n; i++)
kontr_sum+=mas[0][i];
for(i=1; i<n && kontr; i++)
{
    temp=0;
for(j=0; j<n; j++)
temp+=mas[i][j];
if(temp!=kontr_sum)
kontr=0;
}
for(i=0; i<n && kontr; i++)
{
    temp=0;
for(j=0; j<n; j++)
temp+=mas[j][i];
if(temp!=kontr_sum)
kontr=0;
}
temp=0;
for(i=0; i<n && kontr; i++)
temp+=mas[i][i];
if(temp!=kontr_sum)
kontr=0;
temp=0;
for(i=0; i<n && kontr; i++)
temp+=mas[i][n-i-1];
if(temp!=kontr_sum)
kontr=0;
if(!kontr)
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
Кстати добавлена проверка и по диагоналям (для магического квадрата и сумма в диагоналях таже самая должна быть).
Ответ Создать тему
Опции темы

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