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

code: #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.      
Поделиться:

Похожие статьи: