
Вопрос задан 25.03.2021 в 19:15.
Предмет Информатика.
Спрашивает Мирный Денис.
В текстовом файле, содержащем данные типа real, поменять местами максимальный и минимальный
элементы(Паскаль)

Ответы на вопрос

Отвечает Хизриев Магомед.
//Боль
//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
//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



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот пример кода на языке Паскаль, который позволяет поменять местами максимальный и минимальный элементы в текстовом файле с данными типа real:
pascalprogram SwapMinMaxReal; var inputFile, outputFile: TextFile; numbers: array of real; minValue, maxValue, temp: real; i, minIndex, maxIndex, count: integer; begin AssignFile(inputFile, 'input.txt'); AssignFile(outputFile, 'output.txt'); // Открытие файлов для чтения и записи Reset(inputFile); Rewrite(outputFile); // Чтение данных из файла count := 0; while not Eof(inputFile) do begin SetLength(numbers, count + 1); Readln(inputFile, numbers[count]); Inc(count); end; // Поиск минимального и максимального элементов minValue := numbers[0]; maxValue := numbers[0]; minIndex := 0; maxIndex := 0; for i := 1 to count - 1 do begin if numbers[i] < minValue then begin minValue := numbers[i]; minIndex := i; end; if numbers[i] > maxValue then begin maxValue := numbers[i]; maxIndex := i; end; end; // Обмен значениями минимального и максимального элементов temp := numbers[minIndex]; numbers[minIndex] := numbers[maxIndex]; numbers[maxIndex] := temp; // Запись измененных данных в файл for i := 0 to count - 1 do Writeln(outputFile, numbers[i]); // Закрытие файлов CloseFile(inputFile); CloseFile(outputFile); end.
Данный код открывает файл с именем "input.txt" для чтения и файл с именем "output.txt" для записи. Затем он читает данные из входного файла в массив чисел типа real, находит минимальный и максимальный элементы, меняет их местами в массиве и записывает измененные данные в выходной файл.
Вы можете изменить имена входного и выходного файлов в соответствии с вашими потребностями.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili