var a: array[1..n, 1..n] of integer; i, j, aii: integer;
begin Randomize; Writeln('Исходный массив'); for i := 1 to n do begin for j := 1 to n do begin a[i, j] := Random(101) - 50; Write(a[i, j]:4) end; Writeln end; Writeln('Результирующий массив'); for i := 1 to n do begin aii:=a[i,i]; for j:=1 to n do begin if a[i,j]<aii then a[i,j]:=1 else a[i,j]:=0; Write(a[i,j]:4) end; Writeln end end.
Алгоритм это четкая последовательность действий для достижение результата.
Напрмер алгоритм для робота. Задача забить гвоздь. 1.выяснить куда забивать гвоздь 1.1 Выяснить на какую глубину. 2.Поставить метку где будет забит гвоздь 3.Выбрать гвоздь. 4.Выбрать молоток. (тут можно добавить оптимизацию, например выбирать только определенный молоток под определенный гвоздь) 5.Приставить острие гвоздя к месту куда будет забиваться гвоздь. 6.Зафиксировать гвоздь в этом положении 7.Ударить молотком по шляпке гвоздя 8.Повторять п.7 до тех пор пока гвоздь не будет забит до нужного состояния согласно п1.1. 9.Убрать молоток туда откуда был взят Конец
n = 9;
var
a: array[1..n, 1..n] of integer;
i, j, aii: integer;
begin
Randomize;
Writeln('Исходный массив');
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := Random(101) - 50;
Write(a[i, j]:4)
end;
Writeln
end;
Writeln('Результирующий массив');
for i := 1 to n do
begin
aii:=a[i,i];
for j:=1 to n do
begin
if a[i,j]<aii then a[i,j]:=1 else a[i,j]:=0;
Write(a[i,j]:4)
end;
Writeln
end
end.
Тестовое решение:
Исходный массив
-11 19 48 32 -6 -39 -45 -13 -27
44 20 -44 27 -50 14 -19 -12 32
2 48 -16 40 -8 -38 35 -15 41
-1 -24 -18 35 -49 -11 22 -4 -1
36 -26 -8 -2 -9 -17 41 44 -13
0 -25 -6 -35 -18 -6 -28 46 44
5 -1 -23 36 47 -41 -30 7 -39
41 -41 19 17 -45 5 -35 -4 -36
-11 -46 6 -50 49 -2 26 -15 -40
Результирующий массив
0 0 0 0 0 1 1 1 1
0 0 1 0 1 1 1 1 0
0 0 0 0 0 1 0 0 0
1 1 1 0 1 1 1 1 1
0 1 0 0 0 1 0 0 1
0 1 0 1 1 0 1 0 0
0 0 0 0 0 1 0 0 1
0 1 0 0 1 0 1 0 1
0 1 0 1 0 0 0 0 0
Напрмер алгоритм для робота. Задача забить гвоздь.
1.выяснить куда забивать гвоздь
1.1 Выяснить на какую глубину.
2.Поставить метку где будет забит гвоздь
3.Выбрать гвоздь.
4.Выбрать молоток. (тут можно добавить оптимизацию, например выбирать только определенный молоток под определенный гвоздь)
5.Приставить острие гвоздя к месту куда будет забиваться гвоздь.
6.Зафиксировать гвоздь в этом положении
7.Ударить молотком по шляпке гвоздя
8.Повторять п.7 до тех пор пока гвоздь не будет забит до нужного состояния согласно п1.1.
9.Убрать молоток туда откуда был взят
Конец