С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/55: Рейтинг темы: голосов - 55, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 04.05.2016
Сообщений: 3
1

Программа для сортировки введенных пользователем чисел по убыванию

04.05.2016, 00:32. Показов 10927. Ответов 3

Author24 — интернет-сервис помощи студентам
Всем большой привет!

Надо написать еще одну программу на Pascal'е. Это школьное Д/З. Недавно начали изучать Pascal.

Задача: программа должна отсортировать введенные пользователем числа (их может быть сколько угодно или программа должна спросить, сколько чисел введет пользователь) по убыванию (от большего к меньшему) и вывести уже в отсортированном виде на экран пользователю. Если пользователь введет не число, а букву, то программа сообщит об этом.

С нетерпением жду ваших ответов!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2016, 00:32
Ответы с готовыми решениями:

Программа, для нахождения наименьшего из введенных пользователем чисел
Всем привет! Надо написать программу на Pascal'е. Это школьное Д/З. Недавно начали изучать...

Написать программу, которая методом быстрой сортировки упорядочивает по убыванию введенный пользователем массив вещественных чисел
Написать программу, которая методом быстрой сортировки упорядочивает по убыванию введенный...

Программа которая находит минимальное из введенных пользователем чисел
Нужна программа, которая находит минимальное из введенных пользователем чисел. Количество вводимых...

Программа сортировки чисел по убыванию с вводом переменных оператором присваивания
CLS A(1) A(2) A(3) A(4) A(5) PRINT “ Числа до сортировки” PRINT A(1); A(2); A(3); A(4); A(5)...

3
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
04.05.2016, 17:44 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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.
0
Модератор
10060 / 5402 / 3353
Регистрация: 17.08.2012
Сообщений: 16,524
09.05.2016, 11:27 3
Peoples, по заданию должен быть контроль ввода.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var inp_str: string;
    n, i, j, t, temp, err: integer;
    a: array [1..100] of integer;
begin
  repeat
    write('Введите количество чисел [1..100]: ');
    readln(inp_str);
    val(inp_str, n, err);
    if err <> 0
      then writeln('Введено не число, повторите ввод.')
      else if not(n in [1..100])
        then writeln('Количество чисел вне диапазона, повторите ввод.')
  until (err = 0) and (n in [1..100]);
  for i := 1 to n do
    repeat
      write('Введите ', i, ' число: ');
      readln(inp_str);
      val(inp_str, a[i], err);
      if err <> 0 then writeln('Введено не число, повторите ввод.')
    until err = 0;
  for i := 1 to n - 1 do
    begin
      t := i;
      for j := i + 1 to n do if a[j] > a[t] then t := j;
      if t > i
        then begin
          temp := a[t];
          a[t] := a[i];
          a[i] := temp
        end
    end;
  writeln('Отсортированная последовательность:');
  for i := 1 to n do write(a[i]:10);
  readln
end.
Rakleed, в задании, скорее всего, неточность. Если в последовательности есть одинаковые элементы, то отсортировать последовательность по убыванию, строго говоря, невозможно. В задании насчёт равных элементов ничего не сказано. Вероятно, имеется ввиду, что отсортировать последовательность следует по невозрастанию. Именно этот порядок сортировки я применил в программе.

Не по теме:

Современные составители задач очень часто допускают разночтения и ошибки в заданиях, подмену терминов и нестрогие формулировки. Я уже перестал удивляться их дремучей тупости... Тоже мне, учители...

0
JokeR.BY
09.05.2016, 14:27     Программа для сортировки введенных пользователем чисел по убыванию
  #4

Не по теме:

Cyborg Drone, с этими невозрастанием и неубыванием задолбали настолько (даже в моём вроде как престижном универе), что сам начинаешь порой подменять убыванием и возрастанием, соответственно. какая-то дремучая неестественная упёртость "не ну ты же понял!"...

0
09.05.2016, 14:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2016, 14:27
Помогаю со студенческими работами здесь

Программа должна вывести таблицу, введённых пользователем ФИО и дат рождения в установленное пользователем кол-во ячеек
Множества 1. Программа должна вывести таблицу, введённых пользователем ФИО и дат рождения в...

Строки. Составить программу сортировки массива строк, введенных пользователем.
Составить программу сортировки массива строк, введенных пользователем. Использовать функцию strcmp...

Найти среднее значение n целых чисел, введённых пользователем (для решения использовать цикл for)
Написать программу, которая позволяет ввести целое число n; вычислить и вывести среднее значение...

Слияние двух массивов введённых в консоли после их сортировки по убыванию и возрастанию
Даны два массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru