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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2010, 07:08   #1
twister_answer
Пользователь
 
Регистрация: 25.05.2010
Сообщений: 16
Сообщение Определить ошибку...

Скажите что не так? нужно что бы программа определяла явлется ли матрица магическим квадратом...

Код:
procedure TForm1.Button2Click(Sender: TObject);
// Процедура нажатия на кнопку "Магический квадрат?"
var a:array[1..10,1..10]of integer;//матрица, которую проверяем на "магичность"
 flag, // флаг, магический квадрат или нет (=0 - нет, =1 - да)
 i, // счётчик циклов
 sum:integer; // сумма элементов строки матрицы
begin
 //Проверяем заполненную матрицу на «магичность»
 flag:=1; // предполагаем, что матрица магический  квадрат
 sum:=0; // пока сумма элементов строки матрицы = 0
 //подсчитываем сумму
 for i:=1 to 10 do
   sum:=sum+a[1,i];
 //проверяем все строки
 for i:=1 to 10 do
  if(sum <> a[i,1]+a[i,2]+a[i,3]+a[i,4]+a[i,5]+a[i,6]+a[i,7]+a[i,8]+a[i,9]+a[i,10]) then
    flag:=0;
 //проверяем все столбцы
 for i:=1 to 10 do
  if(sum <> a[1,i]+a[2,i]+a[3,i]+a[4,i]+a[5,i]+a[6,i]+a[7,i]+a[8,i]+a[9,i]+a[10,i]) then
    flag:=0;
 //проверяем диагонали
 if(sum <> a[1,1]+a[2,2]+a[3,3]+a[4,4]+a[5,5]+a[6,6]+a[7,7]+a[8,8]+a[9,9]+a[10,10]) then
    flag:=0;
// ВЫВОДИМ РЕЗУЛЬТАТ
 if (flag=1) then
   label3.caption:='Матрица является Магическим квадратом'
 else
   label3.caption:='Матрица не является Магическим квадратом';

end;
twister_answer вне форума Ответить с цитированием
Старый 06.06.2010, 07:19   #2
DoDge_VipeR
Форумчанин
 
Аватар для DoDge_VipeR
 
Регистрация: 30.04.2010
Сообщений: 317
По умолчанию

Цитата:
Код:
  if(sum <> a[i,1]+a[i,2]+a[i,3]+a[i,4]+a[i,5]+a[i,6]+a[i,7]+a[i,8]+a[i,9]+a[i,10]) then
    flag:=0;
 //проверяем все столбцы
 for i:=1 to 10 do
  if(sum <> a[1,i]+a[2,i]+a[3,i]+a[4,i]+a[5,i]+a[6,i]+a[7,i]+a[8,i]+a[9,i]+a[10,i]) then
    flag:=0;
 //проверяем диагонали
 if(sum <> a[1,1]+a[2,2]+a[3,3]+a[4,4]+a[5,5]+a[6,6]+a[7,7]+a[8,8]+a[9,9]+a[10,10]) then
а это что за фигня?
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
DoDge_VipeR вне форума Ответить с цитированием
Старый 06.06.2010, 10:12   #3
scorpio2505
 
Регистрация: 15.03.2008
Сообщений: 5
По умолчанию

Это где такие задачи дают?)
вообще с виду правильно , только жутко некрасиво пишешь
Помощь в написание программ на Pascal, Delphi, C++
icq:273869049

Последний раз редактировалось scorpio2505; 06.06.2010 в 10:21.
scorpio2505 вне форума Ответить с цитированием
Старый 06.06.2010, 16:37   #4
twister_answer
Пользователь
 
Регистрация: 25.05.2010
Сообщений: 16
По умолчанию

это проверка...

в политехе.. иркутске... ну как могу))
twister_answer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить кодировку 4айник Помощь студентам 1 17.06.2014 08:55
не могу определить ошибку.... siemdi Общие вопросы C/C++ 10 15.05.2010 20:39
Выдаёт ошибку: acos DOMAIN error,полсе нажатия окей,ещё одну ошибку pow OWERFLAW ERROR prikolist Общие вопросы C/C++ 4 10.04.2009 20:27
Среди 20 введёных чисел определить чётные, распечатать их, определить min Spade Помощь студентам 4 15.06.2008 18:39