почемучка105
19.11.2021 04:45

В компанию поступил большой заказ на автопилоты (A), гироскопы (G) и двигатели системы ориентации (J). От вас требуется написать программу, которая проанализирует выдаваемые роботом строки и подсчитает количество исправных компонентов каждого типа и их процент среди всех собранных деталей этого типа. На входе программы: читаем из входного потока

N - число следующих строк данных
строка1 - строки данных, которые могут содержать интересующие нас символы 'AaGgJj', а также другие символы
...
строкаN

На выходе программы: записываем в выходной поток 6 чисел, по два числа на строку. Первое число целое, это - количество исправных деталей соответствующего типа, второе число - процент исправных деталей от общего количества деталей данного типа. Процент можно округлить до целого числа. Числа должны идти в таком порядке:

число-годных-автопилотов процент-годных-автопилотов
число-годных-гироскопов процент-годных-гироскопов
число-годных-двигателей процент-годных-двигателей

Sample Input:
2

jjJkalieyJrggGyjjAAa

Sample Output:
5 45
2 33
3 38

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
asino20145
11.07.2022 03:34
PascalABC.NET 3.3.5, сборка 1669 от 21.05.2018
Внимание! Если программа не работает, обновите версию!

1. Функция

function avg(a:array of integer):=a.Where(t->t>0).Average;

begin
  var a:=ReadAllText('input.txt').ToIntegers;
  Writeln('Среднее значение положительных элементов ',avg(a))
end.

2. Процедура

procedure avg(a:array of integer; var m:real);
begin
  m:=a.Where(t->t>0).Average
end;

begin
  var a:=ReadAllText('input.txt').ToIntegers;
  var m:real;
  avg(a,m);
  Writeln('Среднее значение положительных элементов ',m)
end.

Хорошо видно, что решение с функцией имеет явное преимущество.
0,0(0 оценок)
Ответ:
co63upo
11.07.2022 03:34
Program arr_length;

const
  IN_FILENAME = 'INPUT.txt';
  OUT_FILENAME = 'OUTPUT.txt';

var
  fileIn,fileOut: TextFile;
  s,t: string;

begin
  writeln('Загружаю входные данные...');
  t := '';
  AssignFile(fileIn, IN_FILENAME);
  AssignFile(fileOut, OUT_FILENAME);
    reset(fileIn);
    while not eof(fileIn) do
      begin
        readln(fileIn, s);
        if (s = '0') then
             break
        else
          t := t + s;
      end;
    CloseFile(fileIn);
    rewrite(fileOut);
    writeln(fileOut, Length(t));
    CloseFile(fileOut);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота