numucirad
02.12.2022 09:31

На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно над горизонтальной стеной у её правого конца. На рисунке указан один из возможных расположения стен и Робота (Робот обозначен буквой «Р»). Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно выше горизонтальной стены и правее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен.


На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соеди

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
lera1059
27.11.2022 04:03
uses crt; var s:string;     c:char;     m:set of char;     n,i,k,p:byte; begin writeln('Введите текст из строчных латинских букв, окончаание ввода Enter'); s:=''; repeat c:=readkey; if c in ['a'..'z'] then  begin   write(c);   s:=s+c;  end; if c=#13 then writeln until c=#13; n:=length(s); m:=[]; for c:='a' to 'z' do  begin   k:=0;   for i:=1 to n do   if s[i]=c then k:=k+1;   if k>1 then m:=m+[c];  end; if m=[] then write('Нет букв, встречающихся более 1 раза') else  for c:='a' to 'z' do  if c in m then write(c) end.
0,0(0 оценок)
Ответ:
Kik1924
31.03.2020 00:22
Var   a: array[1..20,1..20] of integer;   n,m,i,j,min,jm,x: integer; begin   randomize;   write('Введите размеры массива: ');   readln(n,m);   writeln('Исходный массив:');   for i:=1 to n do   begin     for j:=1 to m do     begin       a[i,j]:=random(19)-9;       write(a[i,j]:4);     end;     writeln;   end;   min:=0;   for i:=1 to n do min:=min+a[i,1];   writeln('Сумма элементов 1-го столбца = ',min);   jm:=1;   for j:=2 to m do   begin     x:=0;     for i:=1 to n do       x:=x+a[i,j];     writeln('Сумма элементов ',j,'-го столбца = ',x);     if x<min then     begin       min:=x;       jm:=j;     end;   end;   writeln('Минимальная сумма в ',jm,'-м столбце');   writeln('Полученный массив:');   for i:=1 to n do   begin     for j:=1 to m do     begin       if j<>jm then a[i,j]:=a[i,jm];     write(a[i,j]:4);     end;     writeln;   end;   readln; end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота