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

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

Значение поменяй в соотстветсвие диапазону.
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.



Конечно, вот пример программы на Free Pascal для сортировки подсчётом по возрастанию:
pascalprogram 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
и адаптировать программу.


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







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