Втекстовом файле, содержащем данные типа real, поменять местами максимальный и минимальный элементы(паскаль)

otoshol62 otoshol62    1   31.07.2019 13:20    0

Ответы
Marmanril12 Marmanril12  28.09.2020 16:38
//Боль
//Pascal ABC.NET 3.1 сборка 1219

Var
 f:text;
 max,min,p:real;
 maxn,minn,n,i:integer;
 ar:array of real;
 s:string;
begin
max:=real.MinValue;
min:=real.MaxValue;
n:=0;
 assign(f,'text.txt');
 reset(f);
 while not(Eof(f)) do
  begin
   read(f,p);
   inc(n);
   setlength(ar,n);
   ar[n-1]:=p;
   if ar[n-1]>max then
    begin
     max:=ar[n-1];
     maxn:=n-1;
    end;
   if ar[n-1]<min then
    begin
     min:=ar[n-1];
     minn:=n-1;
    end;
  end;
 close(f);
swap(ar[minn],ar[maxn]);
for i:=0 to n-1 do
if i<>n-1 then s:=s+floattostr(ar[i])+' '
else
s:=s+floattostr(ar[i]);
rewrite(f);
write(f,s);
close(f);
end.

Пример содержимого text.txt:
0 -2.1 1.1
Пример содержимого text.txt после работы программы:
0 1.1 -2.1
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика