Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.04.2011
Сообщений: 37
1

Сортировка слиянием - исправить код

17.05.2011, 20:32. Показов 681. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста! Я уже очень много раз просила помощь, первые 10 сообщений читают, остальные забивают. мне сдавать программу через 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
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
Program faili;
uses crt;
const
  N = 10;
  M = 15;
type massive = array [1 .. N] of real;
     mymas = array [1..M] of real;
var
d1: massive;
d2:mymas;
i,x:integer;
procedure gen(k:integer; var t:massive);
var i:integer;
begin
for i:=1 to k do
t[i]:=random(10);
end;
procedure print(k:integer; t:massive);
var i:integer;  t1:text;
begin
assign (t1,'d1.txt');
rewrite (t1);
for i:=1 to k do
write (t1,d1[i]:4:1,' ');
close (t1);
end;
procedure gen1(k: integer; var t:mymas);
var i:integer;
begin
for i:=1 to k do
t[i]:=random(10);
end;
procedure print1(k:integer; t:mymas);
var i:integer;  t2:text;
begin
assign (t2,'d2.txt');
rewrite (t2);
for i:=1 to k do
write (t2,d2[i]:4:1,' ');
close(t2);
end;
procedure chten(k:integer; t1:text);
var i:integer; d1:massive;
begin
assign(t1,'d1.txt');
reset(t1);
for i:= 1 to k do
begin
read (t1,d1[i]);
write (d1[i]:6:1);
end;
writeln;
close(t1);
end;
procedure chten1(k:integer; t2:text);
var i:integer; d2:mymas;
begin
assign(t2,'d2.txt');
reset(t2);
for i:= 1 to k do
begin
read (t2,d2[i]);
write (d2[i]:6:1);
end;
writeln;
close(t2);
end;
procedure Sliv(var a:mas;p,q : integer);
var r,i,j,k : integer;
    b:mas;
begin
 r:=(p+q) div 2;
 i:=p;
 j:=r+1;
 for k:=p to q do
 if (i<=r) and ((j>q) or (a[i]<a[j])) then
   begin
   b[k]:=a[i];
   i:=i+1;
  end
 else
  begin
   b[k]:=a[j];
   j:=j+1;
  end ;
 for k:=p to q do
 a[k]:=b[k];
end;
procedure Sort(var a:massive; b:mymass; p,q : integer);
begin
 if p<q then
 begin
  Sort(a,p,(p+q) div 2);
  Sort(a,(p+q) div 2 + 1,q);
  Sliv(a,p,q);
 end;
end;
begin
clrscr;
randomize;
gen (N,d1);
print (N,d1);
gen1 (M,d2);
print1(M,d2);
writeln ('otsortirovanniy massiv');
readln;
sort(d1,d2,N,M);
readln;
end.


Я понимаю. что сначала эти 2 массива надо в один как-то соединить, но у меня ничего не получается!!!! Ну помогите, пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2011, 20:32
Ответы с готовыми решениями:

Сортировка слиянием
Написать программу: Сортировки слиянием

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

Сортировка слиянием
дано два текстовых файла, кажая строка число; 1) 23 4 6 1 56 87 2) 4 56 5 6 7 3 объединить и...

Сортировка слиянием MERGE_SORT
Дана последовательность целых чисел. Упорядочить числа по неубыванию, используя рекурсивную...

2
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
17.05.2011, 21:27 2
В этой теме
Сортировки
я привел разные случаи и варианты сортировки слиянием, выбирайте что Вам подойдет. Я по Вашему коду вообще не понимаю что Вы творите.
0
0 / 0 / 0
Регистрация: 07.04.2011
Сообщений: 37
17.05.2011, 21:57  [ТС] 3
вот и я не понимаю как это должно выглядеть.. можешь объяснить?


массивы различной размерности. и я плохо понимаю как они должны слиться

Добавлено через 29 минут
Цитата Сообщение от Puporev Посмотреть сообщение
В этой теме
Сортировки
я привел разные случаи и варианты сортировки слиянием, выбирайте что Вам подойдет. Я по Вашему коду вообще не понимаю что Вы творите.
может все-же можно это объяснить?
0
17.05.2011, 21:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2011, 21:57
Помогаю со студенческими работами здесь

Сортировка естественным слиянием
Помогите, а то беда мне:(((( 1.Сортировка естественным слиянием.(желательно с процедурами)...

Реализовать алгоритм Сортировка слиянием
Помогите разобраться!!!!!! program analize_methods; uses dos; const amax=10000; type ar=array ...

Доработать программу. Сортировка слиянием
проблема вот в чем: если задать n &lt; 9 все отлично работает а если = &gt; 9 то заменяются нули на...

Внешняя сортировка простым слиянием
Реализовать программу, в которой выполняется алгоритм внешней сортировки простым слиянием: Дан...


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

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