Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2017, 15:27   #1
Kapralick
 
Регистрация: 17.06.2017
Сообщений: 7
По умолчанию Магический квадрат

Дан символьный массив A[N ][N]. Проверить, является ли данный массив «магическим квадратом», то есть, одинаковы ли суммы элементов во всех строках и столбцах. Мне надо сравнить суммы элементов всех строк и всех столбцов, но проблема в том, что программа суммирует только первый столбец и первую строку, а должна это делать со всеми. Как можно это осуществить?
Код:
#include "stdafx.h"
#include "iostream"
#include "clocale"
using namespace std;

int main()
{
	setlocale(LC_ALL, "Russian");
	int n;
	int A[100][100];
	int sum1 = 0, sum2 = 0;
	int i, j;
	cout << "Укажите размерность квадратной матрицы ";
	cin >> n;
	for (i = 0; i <n; i++)
	{
		for (j = 0; j <n; j++)
		{
			cout << " Введите элемент массива " << i << ":" << j << " - ";
			cin >> A[i][j];
		}
	}
	cout << "Массив: \n";
	for (i = 0; i < n; i++, cout << "\n")
	{
		for (j = 0; j < n; j++)

			cout << A[i][j] << "\t";
	}
	for (i = 0; i < n; i++)
		sum1 += A[i][0];
	cout << "sum1 =" << sum1 << endl;
	{
		for (j = 0; j <n; j++)
		{
			sum2 += A[0][j];
		}
		cout << "sum2 =" << sum2 << endl;
	}
	if (sum1 == sum2)
	{
		cout << "Массив является магическим квадратом \n";
	}
	else {
		cout << "Массив не является магическим квадратом \n";
	}
	system("pause");
	return 0;
}

Последний раз редактировалось Аватар; 29.11.2017 в 15:45.
Kapralick вне форума Ответить с цитированием
Старый 29.11.2017, 15:30   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Ну так запихните эти вычисления сумм в цикл по всем строкам/столбцам. Или вы что-то другое ожидали?
p51x вне форума Ответить с цитированием
Старый 29.11.2017, 16:15   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Иными словами: нужен вложенный цикл.
1. берем 1-ю строку, суммируем все входящие элементы (цикл по столбцам).
2. То же самое для остальных строк

Аналогично для столбцов.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Магический квадрат МашаПолудницына C# (си шарп) 1 04.06.2012 11:19
Магический квадрат VIK_aka_TOR Помощь студентам 1 15.04.2011 23:53
Магический квадрат morgan97 Паскаль, Turbo Pascal, PascalABC.NET 5 09.04.2011 17:10
C++ Магический квадрат Alexey23 Помощь студентам 1 09.12.2010 23:58
Магический квадрат Гаджи Помощь студентам 5 24.10.2009 09:46