Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/43: Рейтинг темы: голосов - 43, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 09.12.2009
Сообщений: 67

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

08.02.2010, 19:54. Показов 7957. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана целая квадратная матрица n-го порядка. Определить, является ли она магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.02.2010, 19:54
Ответы с готовыми решениями:

Является ли матрица магическим квадратом
Дана матрица целых чисел, составленная из чисел 1 , 2 , . . . n^2. Определить, является ли она «магическим квадратом» (т.е. суммы по...

Является ли матрица N-го порядка магическим квадратом
Мне надо оставить программу, содержащую подпрограмму (процедуру или функцию), которая определяет является ли матрица N-го порядка...

Определить, является ли матрица «магическим квадратом»
Строки данных считывать из заранее созданного текстового файла Даны 2 матрицы А(10х10), В(8х8). Определить является ли одна из...

4
 Аватар для Tom_Sawyer
88 / 88 / 56
Регистрация: 05.12.2009
Сообщений: 134
08.02.2010, 21:30
Лучший ответ Сообщение было отмечено как решение

Решение

Pascal
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
52
Var
X:array [1..20,1..20] of integer; {Матрица целых чисел максимальной размерности 20x20}
N:integer; {Размерность матрицы}
i,j:integer; {i, j - счётчики циклов}
S,T:integer; {S - "сумма" магического квадрата, T - вспомогательная переменная}
Flag:boolean;
begin
 writeln('Проверка матрицы на "магический квадрат".'); {Формулировка цели алгоритма}
 write('Введите размерность квадратной матрицы: ');
 readln(N);         
 writeln('Введите поочередно элементы таблицы:');
 for i:=1 to N do {Цикл для i от 1 до N}
  for j:=1 to N do {Цикл для j от 1 до N}
   begin
    write('X[',i,',',j,']=');
    readln(X[i,j]); {Ввод очередного элемента матрицы X}
   end;
 writeln;
 for i:=1 to N do {Цикл для i от 1 до N}
  begin    
   for j:=1 to N do {Цикл для j от 1 до N}
   write (X[i,j]:5); {Форматированный вывод в строку очередного элемента массива X}
   writeln;
  end;      
 S:=0; {Начальное значение S присваиваем равным 0}
 for i:=1 to N do {Цикл для i от 1 до N}
 S:=S+X[1,i]; {Накапливаем в S сумму элементов первой строки}
 Flag:=True; {Присваиваем Flag=True, т.е. матрица ПОКА удовлетворяет требованиям}
 for i:=1 to N do {Цикл для i от 1 до N}
  begin
   T:=0; {Присваиваем T = 0}
   for j:=1  to N do {Цикл для j от 1 до N}
   T:=T+X[i,j]; {Накапливаем в T сумму элементов j-ой строки}
   if T<>S then Flag:=False; {Если найденное T не равно S, то матрица УЖЕ не удовлетворяет требованиям}
  end;
 for j:=1 to N do {Цикл для j от 1 до N}
  begin
   T:=0;
    for i:=1 to N do {Цикл для i от 1 до N}
    T:=T+X[i,j]; {Накапливаем в T сумму элементов i-го столбца}
    if T<>S then Flag:=False; {Eсли найденное T не равно S, то матрица УЖЕ не удовлетворяет требованиям}
  end;      
 T:=0;
 for i:=1 to N do T:=T+X[i,i]; {В цикле для i от 1 до N накапливаем в T сумму эл-тов главной диагонали}
 if T<>S  then Flag:=False; {Если найденное T не равно S, то матрица УЖЕ не удовлетворяет требованиям}
 T:=0;
 for i:=1 to N do T:=T+X[i,N-i+1]; {В цикле для i от 1 до N накапливаем в T сумму эл-тов побочной диагонали}
 if T<>S then Flag:=False; {Если найденное T не равно S, то матрица УЖЕ не удовлетворяет требованиям}
 if (Flag:=True) then writeln('Матрица является "магическим квадратом".')
 else writeln('Матрица не является "магическим квадратом".');
 readln;
end.
Добавлено через 2 минуты
вопросов не должно возникнуть так как с подробным описанием сделал
3
0 / 0 / 0
Регистрация: 09.12.2009
Сообщений: 67
09.02.2010, 14:32  [ТС]
Просто супер, огромное спасибо Вам!!!
0
0 / 0 / 1
Регистрация: 10.02.2010
Сообщений: 14
21.03.2010, 22:18
Pascal
1
if (Flag:=True) then writeln('Матрица является "магическим квадратом".')
Почему может ругаться компилятор, требуя во фразе "Flag:=True" то скобку, то then?
0
 Аватар для DanpiL
4 / 4 / 1
Регистрация: 25.05.2010
Сообщений: 29
02.06.2010, 10:35
А ты попробуй написать просто
if flag then writeln('Матрица является "магическим квадратом".');
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.06.2010, 10:35
Помогаю со студенческими работами здесь

Определить, является ли матрица магическим квадратом
Определить, является ли заданная целая квадратная матрица 9-го порядка магическим квадратом, т.е. такой, в которой суммы элементов во всех...

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

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

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

Определить является ли данная матрица магическим квадратом
1.Дана квадратичная матрица C(4,4).Определить является ли данная матрица магическим квадратом.Найти сумму элементов строки,в которой...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru