Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
 Аватар для skopy
2 / 2 / 0
Регистрация: 23.10.2009
Сообщений: 50

Описать две процедуры сортировки одномерного массива длинной N по убыванию и по возрастанию

05.03.2010, 12:29. Показов 2941. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помочь, определить что неправильно, выдает ошибку.. я путаюсь в параметрах процедуры и думаю туда она и закралась.. В очередной раз я обращаюсь к вам, без вашей помощи никак...


Задание: Описать две процедуры, сортировки одномерного массива длинной N по убыванию и по возрастанию Дано два массива а и в. Отсортировать а по возрастанию, в – по убыванию. Логической переменной t присвоить true, если наименьший элемент а больше наибольшего элемента в.

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
const n=20;
type mas=array[1..n] of integer;
procedure SortV(v:mas;var x:byte);
var i,j:byte;
    b:integer;
begin
for i:=1 to x-1 do
for j:=i+1 to x do
if v[i]>v[j] then
 begin
  b:=v[i];
  v[i]:=v[j];
  v[j]:=b;
 end;
end;
 
procedure SortU(var v:mas;x:byte);
var i,j:byte;
    b:integer;
begin
for i:=1 to x-1 do
for j:=i+1 to x do
if v[i]<v[j] then
 begin
  b:=v[i];
  v[i]:=v[j];
  v[j]:=b;
 end;
end;
 
function Minimal (v:mas; n:integer):integer;
var i,MinElem:integer;
begin
MinElem:=v[1];
for i:=1 to n do
if v[i]<MinElem then
MinElem:=v[i];
Minimal:=MinElem;
end;
 
function Maximal (v:mas; n:integer):integer;
var i,MaxElem:integer;
begin
MaxElem:=v[10000];
for i:=1 to n do
if v[i]<MaxElem then
MaxElem:=v[i];
Maximal:=MaxElem;
end;
 
var a,b:mas;
    min, max,i,j:byte;
    t:boolean;
begin
 
Writeln('Исходная матрица a');
 For i:=1 to n do
     Begin
     a[i]:=random(10)-5;
     Write(a[i]);
     end;
     Writeln;
 
Writeln('Исходная матрица b');
 For i:=1 to n do
     Begin
     b[i]:=random(10)-5;
     Write(b[i]);
     end;
     Writeln;
 
for i:=1 to n do  begin
SortV(a[i],n);
SortU(b[i],n);
end;
for i:=1 to n do  begin
  write(a[i]);
  writeln;
  write(b[i]);
  writeln;
 end;
readln;
for i:=1 to n do
if Minimal(a[i],n)>Maximal(b[i],n) then
t:true;
end.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2010, 12:29
Ответы с готовыми решениями:

Разработать программу сортировки одномерного массива по возрастанию/убыванию
Разработать программу сортировки одномерного массива по возрастанию/убыванию. Элементы массива находятся в файле. Программа должна...

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

Разработать подпрограмму сортировки одномерного массива по убыванию
Ребят, помогите пожалуйста.. Кто чем может, заранее спасибо. Очень надо. 20. Задача на подпрограммы. Разработать подпрограмму...

5
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
05.03.2010, 12:32
а что за ошибка???

Добавлено через 1 минуту
Pascal
1
2
SortV(a[i],n);
SortU(b[i],n);
может надо так
Pascal
1
2
SortV(a,n);
SortU(b,n);
1
 Аватар для skopy
2 / 2 / 0
Регистрация: 23.10.2009
Сообщений: 50
05.03.2010, 12:45  [ТС]
пишет: фактический параметр должен быть переменной...

Добавлено через 5 минут
ага надо было ввести другую переменную

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 a,b:mas;
    min, max,i,j,m:byte;
    t:boolean;
begin
m:=5;
Writeln('Исходный массив a');
 For i:=1 to m do
     Begin
     a[i]:=random(10)-5;
     Write(a[i]);
     end;
     Writeln;
 
Writeln('Исходный массив b');
 For i:=1 to m do
     Begin
     b[i]:=random(10)-5;
     Write(b[i]);
     end;
     Writeln;
 
for i:=1 to m do  begin
SortV(a,m);
SortU(b,m);
end;
for i:=1 to m do  begin
  write(a[i]);
  writeln;
  write(b[i]);
  writeln;
 end;
readln;
for i:=1 to n do
if Minimal(a,m)>Maximal(b,m) then
t:=true;
грубо как то так..

Добавлено через 55 секунд
вывод корявый только... ну это мелочи.... Спасибо!!!
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
05.03.2010, 12:51
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
type mas=array[1..100] of integer;
procedure SortV(v:mas;var x:byte);
var i,j:byte;
    b:integer;
begin
for i:=1 to x-1 do
for j:=i+1 to x do
if v[i]>v[j] then
 begin
  b:=v[i];
  v[i]:=v[j];
  v[j]:=b;
 end;
end;
 
procedure SortU(var v:mas;x:byte);
var i,j:byte;
    b:integer;
begin
for i:=1 to x-1 do
for j:=i+1 to x do
if v[i]<v[j] then
 begin
  b:=v[i];
  v[i]:=v[j];
  v[j]:=b;
 end;
end;
 
function Minimal (v:mas; n:integer):integer;
var i,MinElem:integer;
begin
MinElem:=v[1];
for i:=1 to n do
if v[i]<MinElem then
MinElem:=v[i];
Minimal:=MinElem;
end;
 
function Maximal (v:mas; n:integer):integer;
var i,MaxElem:integer;
begin
MaxElem:=v[10];
for i:=1 to n do
if v[i]<MaxElem then
MaxElem:=v[i];
Maximal:=MaxElem;
end;
 
var a,b:mas;
    min, max,i,j:byte;
    t:boolean;
    n:byte;
 
begin
n:=20;
 
Writeln('Исходная матрица a');
 For i:=1 to n do
     Begin
     a[i]:=random(10)-5;
     Write(a[i]);
     end;
     Writeln;
 
Writeln('Исходная матрица b');
 For i:=1 to n do
     Begin
     b[i]:=random(10)-5;
     Write(b[i]);
     end;
     Writeln;
 
for i:=1 to n do  begin
SortV(a,n);
SortU(b,n);
end;
for i:=1 to n do  begin
  write(a[i]);
  writeln;
  write(b[i]);
  writeln;
 end;
readln;
for i:=1 to n do
if Minimal(a,n)>Maximal(b,n) then
t:=true;
end.
1
 Аватар для skopy
2 / 2 / 0
Регистрация: 23.10.2009
Сообщений: 50
05.03.2010, 13:03  [ТС]
что то нифига он не сортирует....
0
 Аватар для skopy
2 / 2 / 0
Регистрация: 23.10.2009
Сообщений: 50
09.03.2010, 10:58  [ТС]
Для тех, кто использует поиск...
ошибка была с 11 по 13 строки..

должно быть так:
Pascal
1
2
3
4
5
6
7
if v[i]>v[j] then
 begin
  b:=v[j];
  v[j]:=v[i];
  v[i]:=b;
 end;
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.03.2010, 10:58
Помогаю со студенческими работами здесь

Алгоритм сортировки одномерного массива по возрастанию
8. Алгоритм сортировки одномерного массива по возраста- нию.

Подпрограмма сортировки элементов одномерного вещественного массива по убыванию
Составить подпрограмму сортировки элементов по убыванию одномерного вещественного массива. С помощью этой подпрограммы отсортировать...

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

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

Составить программу сортировки одномерного числового массива от начала массива к элементу с заданным номером по убыванию (методом выбора)
Помогите составить программу на С++. Заданный номер - 28.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru