Как сделать поиск в заданном диапазоне максимального значения? - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

как сделать поиск в заданном диапозоне(a[I].ob) максимального значения(a[I].pa)? вот мой код
не получается

Решение задачи: «Как сделать поиск в заданном диапазоне максимального значения?»

textual
Листинг программы
type
  tModel = record
    Name : String[30];
    engine, fuel : Real;
  end;
 
function ReadAuto(n : Integer) : tModel;
begin
  WriteLn('Введите характеристики ' + n + ' автомобиля:');
  Result.Name   := ReadLnString('                      модель:');
  Result.engine := ReadLnReal  ('   объём двигателя (куб.см.):');
  Result.fuel   := ReadLnReal  ('расход топлива на 100 км (л):');
end;
 
begin
  var n := ReadLnInteger('Количество автомобилей:');
  var a : array of tModel;
  SetLength(a, n);
  for var i := 0 to n-1 do a[i] := ReadAuto(i+1);
  
  var r := a.Where(Model->(Model.engine>=1.4)and(Model.engine<=1.8)).toArray;
  if r.Count = 0 then
    begin
      WriteLn('Нет автомобилей с заданным объёмом...');
      Halt;
    end;
  var maxFuel := r.Select(Model->Model.fuel).Max;
  WriteLn(maxFuel);
  Write('Модель(-ли) с максимальным расходом топлива: ');
  foreach var Model in r do
    if Model.fuel=maxFuel then Print(Model.Name);
end.

Объяснение кода листинга программы

В этом коде:

  1. Создается структура данных tModel, которая представляет собой запись с полями Name (модель), engine (объем двигателя) и fuel (расход топлива).
  2. Определяется функция ReadAuto, которая запрашивает у пользователя ввод данных для создания объекта tModel.
  3. В цикле с помощью функции ReadAuto создается массив a с заданным количеством автомобилей.
  4. Используя метод Where, из массива a исключаются автомобили с объемом двигателя меньше 1.4 и больше 1.8 литра.
  5. Если после фильтрации в массиве r не осталось автомобилей, выводится сообщение об их отсутствии.
  6. Находится максимальное значение расхода топлива среди оставшихся автомобилей.
  7. Выводится сообщение с названием модели автомобиля, у которого максимальный расход топлива.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы