- 2 3 5
Задача 2
В комнате 2х2 есть уютная ниша (как на рисунке). Напиши программу,
которая Р.О.М.А. добраться до этой клетки и спрятаться там.
1
су
3
ove_left(0) Сделать шаг влево
move_right() Сделать шаг вправо
move_up() Сделать шаг вверх
move_down() Сделать шаг вниз
wall_from_upО) Проверить, есть ли стена сверху
wall_from_down0) Проверить, есть ли стена снизу
wall_from_left() Проверить, есть ли стена слева
wall_from_right) Проверить, есть ли стена справа
free_from_up) Проверить, свободно ли сверху
free_from_down) Проверить, свободно ли снизу
free_from_left() Проверить, свободно ли слева
free_from_right() Проверить, свободно ли справа
fill_celt() Закрасить клетку
cell_is_filled) Проверить, закрашена ли клетка
cell_is_clean() Проверить, чиста ли клетка
4
5
у
1x
ответить
?
W
АВ
C
17:02
16.03.2021
m:array[0..1000] of longint;
n,i:longint;
procedure tf;
var
q,j:longint;
o:array[1..10] of longint;
begin
write(m[1],' ');
q:=1;
o[q]:=m[1];
i:=1;
while q<>3 do
begin
i:=i+1;
if q=1 then
if m[i]<>o[1] then
begin
write(m[i],' ');
q:=q+1;
o[q]:=m[i];
end;
if q=2 then
if (m[i]<>o[1]) and (m[i]<>o[2]) then
begin
write(m[i]);
q:=q+1;
end;
end;
end;
procedure tm;
var
mk:array[1..10] of longint;
begin
for i:=1 to 3 do
mk[i]:=0;
for i:=1 to n do
if mk[1]<m[i] then
begin
mk[3]:=mk[2];
mk[2]:=mk[1];
mk[1]:=m[i];
end else
if (mk[2]<m[i]) and (m[i]<>mk[1]) then
begin
mk[3]:=mk[2];
mk[2]:=m[i];
end else
if (mk[3]<m[i]) and (mk[2]<>m[i]) then mk[3]:=m[i];
write(mk[1],' ',mk[2],' ',mk[3]);
end;
Скорее всего это можно было написать чище и оптимальнее, но вот моё решение на скорую руку
#include <iostream>
#include <string>
#include <conio.h>
#define ESC 27
using namespace std;
int main() {
char ch;
int sum = 0;
do {
ch = _getch();
if (ch == ESC) {
cout << "Output of the program:\n" << sum;
putchar('\n');
} else {
cout << ch;
sum += (int)ch;
putchar('\n');
}
} while (ch != ESC);
system("pause");
return 0;
}
Объяснение: