Нужна помощь по информатике, заранее спасибо, язык программирования паскаль

0 голосов

Нужна помощь по информатике, заранее спасибо, язык программирования паскаль


image

спросил от (15 баллов) в категории Информатика
оставил комментарий от

Вы не указали язык программирования или программную среду.

оставил комментарий от

Это на какую тему? Массивы или записи?

оставил комментарий от

Записи

оставил комментарий от

Куда проще это было решить без записей!

1 Ответ
0 голосов
ответил от БОГ (678k баллов)
 
Лучший ответ

PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018

Внимание! Если программа не работает, обновите версию!

type

 Расход = record

   Kol := new real[4];

 end;


begin

 var dt := new Расход[3];

 Println('Расход вводится помесячно для каждого счетчика');

 for var i := 0 to 2 do

 begin

   Write('Счетчик ', i + 1, ': ');

   for var j := 0 to 3 do

     Read(dt[i].Kol[j])

 end;

 var C := ReadReal('Тариф за кубометр воды, руб:');

 Println('Максимальный расход во втором месяце у счетчика',

     dt.Select((v, i)-> (i, v.Kol[1])).MaxBy(t -> t[1])[0] + 1);

 Println('Количество счетчиков с расходом в первом месяце больше 2:',

     dt.Where(t -> t.Kol[0] > 2).Count);

 Println('Оплата по счетчику №3, руб:',

     dt[2].Kol.Sum * C);

end.

Пример

Расход вводится помесячно для каждого счетчика

Счетчик 1: 1.5 2.4 3.1 0.2

Счетчик 2: 2.5 4.2 0.6 3

Счетчик 3: 4 3 4 1

Тариф за кубометр воды, руб: 38.32

Максимальный расход во втором месяце у счетчика 2

Количество счетчиков с расходом в первом месяце больше 2: 2

Оплата по счетчику №3, руб: 459.84

...