Как сделать поиск в заданном диапазоне максимального значения? - 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.
Объяснение кода листинга программы
В этом коде:
- Создается структура данных tModel, которая представляет собой запись с полями Name (модель), engine (объем двигателя) и fuel (расход топлива).
- Определяется функция ReadAuto, которая запрашивает у пользователя ввод данных для создания объекта tModel.
- В цикле с помощью функции ReadAuto создается массив a с заданным количеством автомобилей.
- Используя метод Where, из массива a исключаются автомобили с объемом двигателя меньше 1.4 и больше 1.8 литра.
- Если после фильтрации в массиве r не осталось автомобилей, выводится сообщение об их отсутствии.
- Находится максимальное значение расхода топлива среди оставшихся автомобилей.
- Выводится сообщение с названием модели автомобиля, у которого максимальный расход топлива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д