Вопрос задан 09.07.2023 в 04:13. Предмет Информатика. Спрашивает Каральчук Владислав.

Напишите, пожалуйста, программу сортировки подсчётом по возрастанию на Free Pascal. Входные данные

берутся из текстового файла input.txt. Отсортированный массив записывается в output.txt.​
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Барахтей Софія.

Значение M поменяй в соотстветсвие диапазону.

const M = 100;

var n,i,d:longint;

   a:array[-M..M] of longint;

begin

 assign(input,'input.txt'); reset(input);

 assign(output,'output.txt'); rewrite(output);

 fillchar(a,sizeof(a),0);

 read(n);

   for i:=1 to n do

   begin

   read(d);

   inc(a[d]);

   end;

 

   for i:=-M to M do

   begin

     for d:=1 to a[i] do

     write(i,' ');

   end;

 close(input);

 close(output);

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример программы на Free Pascal для сортировки подсчётом по возрастанию:

pascal
program CountingSort; const MAX_VALUE = 10000; // Максимальное значение элемента массива var input, output: TextFile; countArray: array[0..MAX_VALUE] of Integer; inputFileName, outputFileName: String; num, i, j: Integer; begin // Введите имя входного и выходного файлов inputFileName := 'input.txt'; outputFileName := 'output.txt'; // Инициализируем массив подсчёта нулями for i := 0 to MAX_VALUE do countArray[i] := 0; // Открываем файл для чтения AssignFile(input, inputFileName); Reset(input); // Считаем количество каждого элемента while not EOF(input) do begin ReadLn(input, num); Inc(countArray[num]); end; // Закрываем файл входных данных CloseFile(input); // Открываем файл для записи отсортированных данных AssignFile(output, outputFileName); Rewrite(output); // Записываем отсортированные данные в файл for i := 0 to MAX_VALUE do begin for j := 1 to countArray[i] do WriteLn(output, i); end; // Закрываем файл выходных данных CloseFile(output); end.

Создайте текстовый файл "input.txt" с входными данными, например:

5 2 9 3 5 2

Запустите программу, и после выполнения будет создан файл "output.txt" с отсортированными данными:

2 2 3 5 5 9

Обратите внимание, что в данной программе предполагается, что входные числа имеют значения от 0 до MAX_VALUE. Если диапазон значений больше, вам следует соответствующим образом изменить MAX_VALUE и адаптировать программу.

0 0

Похожие вопросы

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

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

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