Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 16.10.2021
Сообщений: 31

Совместить 2 кода в один. Разработать программу для сортировки массива, используя рекурсивную процедуру

03.12.2021, 21:35. Показов 1256. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать программу для сортировки массива с помощью рекурсивной процедуры. Метод сортировки должен соответствовать заданию
Проще говоря нужно совместить два кода из двух заданий.


Задание 13 (с этим кодом нужно совместить один из кодов ниже):
Вывести числа от N до 1 с помощью рекурсивной функции

Код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Program work1;
var n:integer;
 
procedure recurs(n:integer);
begin
if n>1 then
   begin
        n:=n-1;
        writeln('n=',n);
        recurs(n);
   end;
end;
begin
writeln('Введите n: '); readln(n);
recurs(n);
end.
Задание 10: Отсортировать массив по не возрастанию методом извлечения максимального элемента, поиск максимального элемента проводить справа налево.

Код:
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
var a:array[1..100] of integer;
    n,i,j,k,imx,x:integer;
begin
randomize;
write('n=');
readln(n);
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=random(200);
  write(a[i]:4);
 end;
writeln;
for i:=1 to n-1 do
 begin
  imx:=1;
  for j:=2 to n-i+1 do
  if a[j]<a[imx] then imx:=j;
  x:=a[imx];
  for j:=imx to n-i+1 do
  a[j]:=a[j+1];
  a[n-i+1]:=x;
 end;
writeln('Отсортированный массив');
for i:=1 to n do
write(a[i]:4);
end.
Второе 10 задание (можете совместить с этим кодом, если вам так будет проще, но НЕ НУЖНО совмещать все 3 кода):
Отсортировать массив по не убыванию методом распределения по массиву ключей, упорядоченному по не убыванию.

Код:
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
const nmax=100;
var a,c:array[0..100] of integer;
    n,i,j,k:integer;
begin
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
for i:=1 to n do
 begin
  a[i]:=random(100);
  write(a[i]:4);
 end;
writeln;
for i:=0 to 100 do
c[i]:=0;
for i:=1 to n do
inc(c[a[i]]);
k:=0;
for i:=0 to 100 do
for j:=1 to c[i] do
 begin
  inc(k);
  a[k]:=i;
  end;
for i:=1 to n do
write(a[i]:4);
end.
Сложность для меня в том, что я даже не представляю как можно совместить два кода в один. Надеюсь у вас получится помочь мне и показать пример для выполнения подобного рода работ)) Заранее спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2021, 21:35
Ответы с готовыми решениями:

Разработать программу для сортировки массива используя рекурсивную процедуру
Разработать программу для сортировки массива с помощью рекурсивной процедуры. Метод сортировки должен соответствовать заданию. Заданы...

Разработайте рекурсивную процедуру сортировки массива методом простого выбора
Разработайте рекурсивную процедуру сортировки массива методом простого выбора.

Разработайте рекурсивную процедуру сортировки массива методом простого выбора
Разработайте рекурсивную процедуру сортировки массива методом простого выбора.

2
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
04.12.2021, 09:15
Цитата Сообщение от Kefiro4naya Посмотреть сообщение
сортировки массива с помощью рекурсивной процедуры
Возьмите быструю сортировку, сортировку слиянием или другой алгоритм, который имеет рекурсию в самой своей идее, будет больше пользы.
Сортировки
0
Модератор
10442 / 5734 / 3406
Регистрация: 17.08.2012
Сообщений: 17,447
06.12.2021, 12:50
Лучший ответ Сообщение было отмечено Kefiro4naya как решение

Решение

Если очень хочется, то можно и рекурсивно:
Разработать программу для сортировки массива используя рекурсивную процедуру
Хотя, по-моему, это ничем, кроме нелепого задания, оправдать нельзя.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.12.2021, 12:50
Помогаю со студенческими работами здесь

Перестроить программу используя рекурсивную процедуру
Есть программа, нужно что бы она работала через рекурсивную процедуру или функцию. Код: program 123; var k,n,x:integer; s,t:real; ...

Разработать рекурсивную процедуру двоичного поиска элемента массива
Нужно подредактировать часть кода. Необходимо разработать рекурсивную процедуру двоичного поиска элемента массива, равного данному...

Разработать программу для сортировки элементов одномерного массива вставками
Разработать программу для сортировки элементов одномерного массива вставками. Приложение должно выводить на экран шаги, то есть показывать...

Разработайте рекурсивную процедуру сортировки последовательности методом быстрой сортировки Хоара
Помогите!!!! Дана последовательность чисел a1, a2, ... , an. Разработайте рекурсивную процедуру сортировки последовательности методом...

Разработать процедуру сортировки одномерного массива по возрастанию
Разработать процедуру сортировки одномерного массива по возрастанию.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru