Верно ли, что имеются два пассажира, багажи которых совпадают по числу вещей - Pascal ABC

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

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

Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f, содержащий сведения о багаже нескольких пассажиров. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). Верно ли, что имеются два пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5 кг.

Решение задачи: «Верно ли, что имеются два пассажира, багажи которых совпадают по числу вещей»

textual
Листинг программы
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 становится больше нуля, программа выводит сообщение о том, что найдены два пассажира, удовлетворяющих условию. Если таких пассажиров нет, то выводится соответствующее сообщение. Программа завершается после закрытия файла.

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


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

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

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