Задача: написать программу ** Паскале, С (С++) или Бейсике. Входной файл:...

0 голосов
37 просмотров

Задача: написать программу на Паскале, С (С++) или Бейсике.

Входной файл: input.txt.

Выходной файл: output.txt.

Ограничение времени выполнения программы: 1 секунда на тест.

Спецификация входа: в первой строке входного файла записано целое число N (1 N 1000), во второй строке файла записаны целые числа X1, X2, ..., XN, (-109 Xi 109).

Спецификация выхода: запишите в выходной файл числа Xi в порядке неубывания.

Пример входа:

5
12 10 5 10 7

Пример выхода:

5 7 10 10 12

Информатика (74 баллов) | 37 просмотров
Дан 1 ответ
0 голосов

program exs;
var a : array [1..1000] of integer;
n, i : integer;

procedure qsort(l, r: integer);
var i, j, key, buf : integer;
begin
i := l;
j:= r;
key:=a[(l+r) div 2];
repeat
while a[i] < key do inc(i);
while a[j] > key do dec(j);
if i<=j then begin<br> buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
inc(i);
dec(j);
end;
until (i>j);
if (l < j) then qsort(l, j);
if (i < r) then qsort(i, r);
end;

begin
readln(n);
for i:= 1 to n do begin
read(a[i]);
end;
qsort(1, n);
for i:=1 to n do begin
write(a[i], ' ');
end;
end.

(306 баллов)