Верно ли, что имеются два пассажира, багажи которых совпадают по числу вещей - Pascal ABC
Формулировка задачи:
Решение задачи: «Верно ли, что имеются два пассажира, багажи которых совпадают по числу вещей»
program pr; const Csize = 100; type Tbag = record it: integer; weight: real; end; Tarr = array [1..Csize] of Tbag; var i, j, n: integer; a: Tarr; f: file of Tbag; k: integer; begin assign(f, 'b.txt'); rewrite(f); writeln('Введите количество записей'); readln(n); for i := 1 to n do begin writeln('Введите количестов вещей'); readln(a[i].it); writeln('Введите вес багажа'); readln(a[i].weight); write(f, a[i]); writeln; end; close(f); reset(f); k := 0; while not eof(f) do begin inc(i); read(f,a[i]); for i := 1 to n do for j := n downto 1 do if (a[i].it = a[j].it) and ((a[i].weight - a[j].weight = 0.5) or (a[j].weight - a[i].weight = 0.5)) then begin k := 1; end; end; if k > 0 then writeln('Имеются два пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5 кг') else writeln('Таких пассажиров нет'); end.
Объяснение кода листинга программы
Программа на языке Pascal ABC проверяет, есть ли два пассажира, у которых багаж совпадает по количеству вещей и отличается по весу не более чем на 0,5 кг. Для этого программа сначала запрашивает у пользователя количество записей и количество вещей для каждого пассажира. Затем она записывает эти данные в файл. После этого программа открывает файл и начинает читать данные из него. Она сравнивает багаж каждой записи и если находится совпадение по количеству вещей и разнице в весе не более чем на 0,5 кг, то увеличивает счетчик k. Когда k становится больше нуля, программа выводит сообщение о том, что найдены два пассажира, удовлетворяющих условию. Если таких пассажиров нет, то выводится соответствующее сообщение. Программа завершается после закрытия файла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д