Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
3 / 3 / 2
Регистрация: 02.12.2011
Сообщений: 39
1

Пирамидальная сортировка массива - найти ошибки в коде

05.04.2012, 18:27. Показов 883. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ошибка в приложенной картинке.
Сортировка пирамидой, ошибка в сорте возникает почему-то только при значение массива = 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
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
uses crt;
const
     max = 10000;
type myArray = array[0..max] of integer;
var dimension, i : integer;
    arr, sortArray : myArray;
 
procedure sift( var arr : myArray; L, R : integer );
var i, j : integer;
    item : integer;
begin
     i := L;
     j := 2*L;
     item := arr[L];
     if ( j < R ) and ( arr[j] < arr[j + 1] ) then begin j := j + 1; end;
     while ( j <= R ) and ( item < arr[j] ) do begin
           arr[i] := arr[j];
           i := j;
           j := 2*j;
           if ( j < R ) and ( arr[j] < arr[j + 1] ) then begin j := j + 1; end;
     end;
     arr[i] := item;
end;
 
function heapsort( arr : myArray; size : integer ) : myArray;
var i, L, R : integer;
    item : integer;
begin
     L := ( size div 2 );
     R := size - 1 ;
     while L > 0 do begin
           L := L - 1;
           sift( arr, L, R );
     end;
     while R > 0 do begin
           item := arr[0];
           arr[0] := arr[R];
           arr[R] := item;
           R := R - 1;
           sift( arr, L, R );
     end;
     heapsort := arr;
end;
 
     begin
     clrscr;
     repeat
     write('Введите размер массива: '); readln( dimension );
       if dimension=0 then writeln('Введите значение массива <>0 ');
         until dimension<>0;
     write('Введите '); writeln(' элементы: ');
     for i := 0 to dimension-1 do
         read(arr[i]);
              sortArray := heapsort( arr, dimension );
     write('Sorting array: ');
     for i := 0 to dimension-1 do begin
         write( sortArray[i] ); write(' '); end;
     writeln;
     writeln('Нажмите Enter, для завершения программы.');
     readln;
end.
Миниатюры
Пирамидальная сортировка массива - найти ошибки в коде  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2012, 18:27
Ответы с готовыми решениями:

Сортировка массива - найти ошибки в коде
Ошыбка, подскажыте что не так и если можна розясните #include &lt;stdio.h&gt; #pragma hdrstop ...

Сортировка массива. Исправить ошибки в коде
Ребят не могу дописать код что бы он правельно работал using System; using...

Сортировка линейного массива: исправить ошибки в коде
Задача такая: В областной олимпиаде по ИКТ участвовало 37 школ. Команды набрали от 12 до 56...

Сортировка, найти ошибки в коде
#include &lt;iostream&gt;; #include&lt;locale&gt; using namespace std; int rl3,k; int main() {...

2
Puporev
05.04.2012, 18:32
  #2

Не по теме:

Цитата Сообщение от frenzyice Посмотреть сообщение
ошибка в сортие
Может Вы хотели написать в сортире?

0
3 / 3 / 2
Регистрация: 02.12.2011
Сообщений: 39
05.04.2012, 19:11  [ТС] 3
хотел написать сорте, который сортировка

Добавлено через 27 минут
Pascal
1
2
3
4
5
6
begin
     L := ( size div 2 )+1;
     R := size - 1 ;
     while L > 0 do begin
           L := L - 1;
           sift( arr, L, R );
проблема решена
0
05.04.2012, 19:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2012, 19:11
Помогаю со студенческими работами здесь

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

Пирамидальная сортировка массива
Можете скинуть код програмы с пирамидальной сортировкой массива

Пирамидальная сортировка массива
Перевела код из Pascal в Fortran Program Floid; Const n = 7; Type Vector = array of Integer;...

Сортировка строк: склеивается вторая и третья строка (найти и исправить ошибки в коде)
#include &lt;string.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace...


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

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