Вопрос задан 25.03.2021 в 19:15. Предмет Информатика. Спрашивает Мирный Денис.

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

элементы(Паскаль)
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Хизриев Магомед.
//Боль
//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
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример кода на языке Паскаль, который позволяет поменять местами максимальный и минимальный элементы в текстовом файле с данными типа real:

pascal
program 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, находит минимальный и максимальный элементы, меняет их местами в массиве и записывает измененные данные в выходной файл.

Вы можете изменить имена входного и выходного файлов в соответствии с вашими потребностями.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос