denissss2222
21.10.2022 04:47

НАПИСАТЬ ПРОГРАММУ! Перед отправкой Терминатора Т-800 в для Джона Коннора (события 2 части) обнаружилось, что при анализе текстовых документов, OCR-модуль машины допускает ошибки при чтении символов в записи моделей терминаторов. Времени на повторное обучение нейронной сети нет, поэтому было принято решение написать hot-fix на символы “T”, “0”, “1”, “8” и “-“. При чтении Терминатор каждый символ переводит в матрицу 10 на 10 точек, где 1 означает наличие заполнения, а 0 – отсутствие.

Символы распознаются следующим образом:

“T” - Два прямоугольника лежащих друг на друге, левая граница верхнего прямоугольника левее нижнего, правая граница верхнего прямоугольника правее нижнего.

“0” - Заполненный прямоугольник с прямоугольным вырезом внутри, границы выреза не лежат на сторонах внешнего прямоугольника.

“8” - Заполненный прямоугольник с 2мя прямоугольными вырезами внутри, границы вырезов не лежат на сторонах внешнего прямоугольника, границы вырезов не пересекаются, нижняя граница одного выреза выше другого.

“1” - Заполненный прямоугольник, ширина прямоугольника строго меньше его длины.

“-“ - Заполненный прямоугольник, ширина прямоугольника строго больше его длины.

Необходимо, чтоб остальные комбинации интерпретировались символом “Х”.

Напишите программу для решения поставленной задачи.

На вход программе подается 10 строк состоящих из 10 символов “0” или “1”. Программа должна выводить один из символов “T”, “0”, “1”, “8”, “-“ или “X”.

Sample Input:

0000000000
0001110000
0001010000
0001010000
0001110000
0001110000
0001010000
0001010000
0001110000
0000000000
Sample Output:

8
Напишите программу. Тестируется через stdin → stdout

Time Limit: 15 секунд
Memory Limit: 256 MB

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Аня276541
18.05.2021 20:09
Const Sz = 1000; var   a: array [1..Sz] of integer;  a1: array [1..Sz] of integer;  a2: array [1..Sz] of integer;  a3: array [1..Sz] of integer;  M: integer;  N: integer;  i: integer;  k: integer;begin  read(M);  readln(N);  for k:=1 to N do begin    read(a[i]);    readln(a1[i]);    if (a[i]<>0) then a3[i]:=1 else a3[i]:=0;    end;  for k:=1 to N do begin  if(a3[i]<>0) then begin  for i:=1 to i do begin  if(a3[k]=0) then d[i]:=1;  if (a2[k]=i) then d[k]:=0;   end;   writeln(a3[i])  end;end;end.
вроде так
0,0(0 оценок)
Ответ:
seimar2
14.12.2021 17:43

for

примеры

(Pascal)

for i := 1 to 10 do

  s:=s+1;

 

(C#,C++)

for (int i=0;i<10;i++) {

   s+=i;

}

 

(Ruby)

for i in 1..10

  s=s+i

end

 

(VB, VBA, Basic,..)

for i = 1 to 10

  s=s+i

next i

 

По умлчанию шагом счетчика является 1. Обычно шаг счетчика можно менять фразой by или step by. Хотя увы такое есть не во всех языках

 

(C#,C++)

for (int i=0;i<10;i=i+2) {

   s+=i;

}

 

(VB, VBA, Basic,..)

for i = 1 to 10 step by 2

  s=s+i

next i

 

Например в паскале возможен только обратный отсчет

for i := 10 downto 1 do

  s:=s+1;

 

еще for примечателен тем, что даже если конец меньше начала (в варианте увеличения счета), то цикл все равно пройдет один раз. Правда не знаю подпадают ли под это правило языки из группы С

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота