Определить является ли матрица магическим квадратом - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Определить является ли матрица магическим квадратом»

textual
Листинг программы
const
  MAX=5;
 var a:array[1..MAX,1..MAX] of integer;
     n:integer;
     ok:boolean;
     i,j:integer;
     sum:integer;
     temp:integer;
 begin
  Write('Введите рамер матрицы (3..4)');
  Readln(n);
  Writeln('Введите строки матрицы!');
  Writeln('После ввода ',n,' целых чисел нажимайте Enter!');
   for i:=1 to n do
    begin
     Write('->');
      for j:=1 to n-1 do
       read(a[i,j]);
       readln(a[i,n]);
      end;
 
    Ok:=True;
    sum:=0;
     for i:=1 to n do
      sum:=sum+a[i,i];
    {Вычисляем сумму по строкам}
   i:=1;
    repeat
     temp:=0;
      for j:=1 to n do
       temp:=temp+a[i,j];
      i:=i+1;
       if temp <> sum then
        ok:=False;
    until (not ok) or (i>n);
 
   if ok then
    begin
     j:=1;
      repeat
       temp:=0;
       for i:=1 to n do
        temp:=temp+a[i,j];
        j:=j+1;
         if temp <> sum then
          ok:=False;
      until (not ok) or (j>n);
     if ok then
      begin
       temp:=0;
       j:=n;
        for i:=1 to n do
         begin
          temp:=temp+a[i,j];
          j:=j-1;
          end;
         if temp<> sum then
          ok:=False;
         end;
        end;
       Write('Введенная матрица');
        if not ok then
         write('не');
        Writeln('является магическим квадратом!');
       readln;
      end.

Объяснение кода листинга программы

  1. Объявляются переменные: MAX, a, n, ok, i, j, sum, temp.
  2. Вводится размер матрицы (n).
  3. Читаются строки матрицы.
  4. Вычисляется сумма элементов главной диагонали.
  5. Вычисляется сумма элементов побочной диагонали.
  6. Проверяется условие для каждой диагонали.
  7. Если условие выполняется, выводится сообщение о том, что матрица является магическим квадратом.
  8. Если условие не выполняется, выводится сообщение о том, что матрица не является магическим квадратом.
  9. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы