Вариант 3
Составьте программу рисования узора. Начальное положение Робота отмечено символом
6. Использовать линейный алгоритм
Робот движется коль стены от начального положения (0) до конца стены Стена
располагается по диагонали от правого верхнего к девому никнему углу поля,
Необходимо якрасить все внутренние углы стены, как показано на приѕtере Ромеры
стены могут быть произвольны.
Необходимо перевести Робота із начального положения (0точку А, закрашивая при
том указанные клетки пола. Размеры стен и расстояние между
произвольны СПОРЧНООО
const
nn=30;
mm=30;
var
a:array[1..mm,1..nn] of integer;
m,n,i,j,imax,jmax:integer;
begin
Writeln('Введите число строк и столбцов массива: '); Read(m,n);
Randomize;
Writeln('*** Исходный массив ***');
imax:=1; jmax:=1;
for i:=1 to m do begin
for j:=1 to n do begin
a[i,j]:=Random(51)-25;
Write(a[i,j]:4);
if a[i,j]>a[imax,jmax] then
begin imax:=i; jmax:=j end
end;
Writeln
end;
for i:=1 to m do a[i,jmax]:=0;
for j:=1 to n do a[imax,j]:=0;
Writeln('*** Результирующий массив ***');
for i:=1 to m do begin
for j:=1 to n do Write(a[i,j]:4);
Writeln
end
end.
Тестовое решение:
Введите число строк и столбцов массива:
5 8
*** Исходный массив ***
11 -10 -25 -25 -19 -3 -2 0
-24 1 5 -25 -21 -16 -16 -22
-21 -10 -12 7 20 16 0 -10
-13 25 -18 18 -5 9 15 1
-19 -10 -16 9 -11 11 24 -19
*** Результирующий массив ***
11 0 -25 -25 -19 -3 -2 0
-24 0 5 -25 -21 -16 -16 -22
-21 0 -12 7 20 16 0 -10
0 0 0 0 0 0 0 0
-19 0 -16 9 -11 11 24 -19
2. Длина слов сохранилась, как было три пятибуквенных имени и три шестибуквенных, так и осталось, следовательно одни символы были заменены на другие.
3. В имени Филипп две последние буквы совпадают и среди закодированных слов есть одно шестибуквенное тХКХОО, в котором совпадают две последние буквы. Также есть имя Максим, в котором первая и последняя буквы совпадают, а среди закодированных есть шестибуквенное лЮЙЯХЛ. На этом основании предполагаем, что произведена подмена одной буквы другой, причем подмена постоянная, т.е. конкретная буква всегда подменяется одной и той же.
4. Мы нашли два шестибуквенных имени, следовательно третье (Густав) закодировано как цСЯРЮБ.
5. Среди пятибуквенных имен два начинаются на одну и ту же букву (А), а среди закодированных имен есть два, начинающиеся на "ю", тогда оставшееся бЮДХЛ - это имя Вадим.
6. В слове юМРНМ совпадают вторая и последняя буквы. В имени Антон они также совпадают, следовательно оставшееся юПР╦Л - это Артём.
Окончательно:
юПР╦Л - Артём
юМРНМ - Антон
бЮДХЛ - Вадим
лЮЙЯХЛ - Максим
цСЯРЮБ - Густав
тХКХОО - Филипп