Даны три упорядоченные по возрастанию файла целых чисел. Найти наименьшее из чисел, встречающееся во всех трех файлах. Файлы должны быть прочитаны не более одного раза — Pascal(Паскаль)

Program superdeni;

var { описание переменных }
  f1, f2, f3: text; { для файлов }
  c: integer; { для чисел из файлов }
  i, n: integer; { для массива }
  min: integer; { для минимального числа }
  v: array [1 .. 100] of integer;
  { в этот массив запишем все числа из всех 3-х файлов }

begin { начало программы }
  assign(f1, '1.txt');
  reset(f1); { открываем 1 файл для чтения }
  assign(f2, '2.txt');
  reset(f2); { открываем 2 файл для чтения }
  assign(f3, '3.txt');
  reset(f3); { открываем 3 файл для чтения }

  i := 0; { обнуляем позицию записи переменной в массив }

  while not eof(f1) do
  begin { начало чтения 1 файла }
    readln(f1, c); { читаем текущее число из файла 1 }
    inc(i); { увеличиваем на +1 переменую для ячейки массива }
    v[i] := c; { записываем эту переменную в массив }
  end; { конец чтения 1 файла }

  while not eof(f2) do
  begin { начало чтения 2 файла }
    readln(f2, c); { читаем текущее число из файла 2 }
    inc(i); { увеличиваем на +1 переменую для ячейки массива }
    v[i] := c; { записываем эту переменную в массив }
  end; { конец чтения 2 файла }

  while not eof(f3) do
  begin { начало чтения 3 файла }
    readln(f3, c); { читаем текущее число из файла 3 }
    inc(i); { увеличиваем на +1 переменую для ячейки массива }
    v[i] := c; { записываем эту переменную в массив }
  end; { конец чтения 3 файла }

  n := i; { открываем 1 файл для чтения }

  min := v[1]; { минимальный ставим на 1 элемент массива }
  for i := 2 to n do { начиная со 2 элемента массива }
    if v[i] < min then
      min := v[i]; { - ищем самый минимальный =)) }

  writeln('MIN= ', min); { минимальный как результат выводим на экран }

  close(f1);
  close(f2);
  close(f3); { закрываем ВСЕ 3 файла }
  readln;

end.

Leave a Comment

6 + 3 =