Программа для сортировки введенных пользователем чисел по убыванию - Pascal
Формулировка задачи:
Всем большой привет!
Надо написать еще одну программу на Pascal'е. Это школьное Д/З. Недавно начали изучать Pascal.
Задача
: программа должна отсортировать введенные пользователем числа (их может быть сколько угодно или программа должна спросить, сколько чисел введет пользователь) по убыванию (от большего к меньшему) и вывести уже в отсортированном виде на экран пользователю. Если пользователь введет не число, а букву, то программа сообщит об этом. С нетерпением жду ваших ответов!Решение задачи: «Программа для сортировки введенных пользователем чисел по убыванию»
textual
Листинг программы
program pr;
var
n, i, j, temp: integer;
a: array [1..100] of integer;
begin
writeln('Введите количество чисел');
readln(n);
for i := 1 to n do
begin
writeln('Введите ', i, ' число');
read(a[i]);
end;
for i := 1 to n do
for j := 1 to n - i do
if a[j] < a[j + 1] then
begin
temp := a[j];
a[j] := a[j + 1];
a[j + 1] := temp;
end;
for i := 1 to n do
write(a[i]:3);
end.
Объяснение кода листинга программы
- Объявляется программа
pr - Объявляются переменные:
n- количество чисел, которые будет вводить пользовательi,j- счетчики для цикловtemp- временная переменная для обмена значенийa- массив из 100 целочисленных элементов
- Выводится сообщение
Введите количество чисел - Считывается количество чисел, введенных пользователем в переменную
n - Запускается цикл от 1 до
n:- Выводится сообщение
Введите i число(гдеi- номер числа) - Считывается число и сохраняется в массиве
aпод индексомi
- Выводится сообщение
- Запускается внешний цикл от 1 до
n:- Вложенный цикл от 1 до (
n-i):- Если значение a[j] меньше, чем значение a[j + 1], то
- Значение a[j] сохраняется в переменной
temp - Значение a[j + 1] сохраняется в a[j]
- Значение
tempсохраняется в a[j + 1]
- Вложенный цикл от 1 до (
- Выводятся отсортированные по убыванию числа из массива
aчерез пробелы