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

uses crt;
var f:text;
    a,sr,mx:real;
    b:array[1..100] of real;
    n,i,k:byte;
    nf:string;
begin
clrscr;
write('Имя файла для чтения: ');
readln(nf);
nf:=nf+'.txt';
assign(f,nf);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Файл ',nf,' не найден!');
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
sr:=0;k:=0;
read(f,mx);
while not eof(f) do
 begin
  read(f,a);
  if a>0 then
   begin
    k:=k+1;
    sr:=sr+a;
   end;
  if a>mx then mx:=a;
 end;
close(f);
writeln('Максимальный элемент в файле=',mx:0:2);
if k=0 then
 begin
  writeln('В файле нет положительных элементов!');
  writeln('Работа программы завершена.');
  readln;
  exit;
 end;
sr:=sr/k;
writeln('Среднее положительных=',sr:0:2);
reset(f);
n:=0;
while not eof(f) do
 begin
  read(f,a);
  if a>sr then
   begin
    n:=n+1;
    b[n]:=a;
   end;
 end;
close(f);
writeln('Массив элементов файла, больших среднего:');
for i:=1 to n do
write(b[i]:0:2,' ');
readln
end.

Leave a Comment

+ 70 = 80