Показать сообщение отдельно
Старый 28.06.2010, 18:36   #1 (permalink)
twister-answer
Новичок
 
Регистрация: 28.06.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Магический квадрат

Народ! Подскажите, что не так в программе.
Задание: Выяснить, является ли заданная квадратная матрица «магическим квадратом».
Магический квадрат - это матрица в которой сумма всех строк, всех столбцов и всех диагоналей равны.

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

Огромное спасибо, всем отозвавшимся
twister-answer вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070