Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
22
Добавлен:
02.05.2014
Размер:
96.77 Кб
Скачать

Представление алгоритма в виде блок-схемы:

Flag:=false

k:=1

i:=1

j:=1

j:=1

+

Ввод: A[i,j]

+ -

j:=j+1

i:=i+1

Представление алгоритма в виде Паскаль программы

program lab_5;

uses crt;

var

A,B:array[1..5,1..5] of integer;

i,j,sum,k,sumj,g,sumi,sumd1,sumd2,sumin:integer;

flag:boolean;

begin

clrscr;

randomize;

flag:=false;

k:=1;

writeln('Магический квадрат');

for i:=1 to 5 do

for j:=1 to 5 do

repeat

{read(A[i,j]);}

A[i,j]:=random(4);

until (A[i,j]<25) and (A[i,j]>1);

for i:=1 to 5 do

begin

for j:=1 to 5 do

begin

if i=j then sumd1:=sumd1+A[i,j];

if i+j=6 then sumd2:=sumd2+A[i,j];

sumin:=sumin+i+j;

write(A[i,j]:4);

end;

writeln;

writeln;

end;

for i:=1 to 5 do

begin

for j:=1 to 5 do

begin

sumi:=sumi+A[i,j];

sumj:=sumj+A[j,i];

end;

if (sumj<>sumd1) or (sumi<>sumd1) or (sumd1<>sumd2) then flag:=true;

sumi:=0;

sumj:=0;

end;

if flag=false then

begin

writeln('Матрица является магическим квадратом');

for i:=1 to 5 do

begin

for j:=1 to 5 do

begin

B[i,j]:=sumd1*sumd1;

write(B[i,j]:4);

end;

writeln;

writeln;

end;

end

else

begin

writeln('Матрица не является магическим квадратом');

for i:=1 to 5 do

begin

for j:=1 to 5 do

begin

for g:=1 to 5 do B[i,j]:=B[i,j]+A[i,g]*(g+j);

write(B[i,j]:4);

end;

writeln;

writeln;

end;

end;

readln;

readln;

end.

Тестовые примеры

Введите матрицу 5*5

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

Приведенная матрица - "магический квадрат"

Матрицы из чисел, равных сумме элементов в строке:

5 5 5 5 5

5 5 5 5 5

5 5 5 5 5

5 5 5 5 5

5 5 5 5 5

Вывод матрицы в результате умножения:

25 25 25 25 25

25 25 25 25 25

25 25 25 25 25

25 25 25 25 25

25 25 25 25 25

Введите матрицу 5*5

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

Приведенная матрица - не "магический квадрат"

Вывод матрицы в результате умножения на сумму индексов:

2 3 4 5 6

3 4 5 6 7

4 5 6 7 8

5 6 7 8 9

6 7 8 9 10

Выполнил:_________________

Защитил:___________________

Соседние файлы в папке Лабораторная работа1