Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal (Паскаль)

Войти
Регистрация
Восстановить пароль
 
Never Smile
0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 24
#1

Не могу разобрать. - Pascal

18.02.2010, 20:36. Просмотров 363. Ответов 1
Метки нет (Все метки)

Мне задали написать 4 сортирывания масивов (шейкерное, бинарных вставок, шелла и пирамидальное)
я то нашел ети коды
вот например:
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
{ сортировка Шелла }
       procedure Shell(var item: DataArray; count:integer);
       const
         t = 5;
       var
         i, j, k, s, m: integer;
         h: array[1..t] of integer;
         x: DataItem;
       begin
         h[1]:=9; h[2]:=5; h[3]:=3; h[4]:=2; h[5]:=1;
         for m := 1 to t do
           begin
 
         k:=h[m];
         s:=-k;
         for i := k+1 to count do
         begin
           x := item[i];
           j := i-k;
           if s=0 then
           begin
             s := -k;
             s := s+1;
             item[s] := x;
           end;
           while (x<item[j]) and (j<count) do
             begin
               item[j+k] := item[j];
               j := j-k;
             end;
             item[j+k] := x;
           end;
         end;
     end; { конец сортировки Шелла }
а вот как его вопротить имено в програму без всяких наворотов просто что бы сортирывал масив тем или инным способом я понять не могу..
я конешно понимаю что задаю глупые вопросы но я новичок и мне оч тяжело самому, без вашей помощи ето все освоить..если будет минутка сегодня гляньте.. буду очень благодарен. спасибо за внимание.=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2010, 20:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу разобрать. (Pascal):

разобрать программу - Pascal
Помогите пожалуйста с решение задач. 1)В строке символов находятся двухзначные числа, найти максимальное. 2) Зашифровать строку по...

Длинная арифметика - разобрать алгоритм - Pascal
Подскажите, в какой статье или книге можно найти разбор алгоритма, который реализован в этой программе type TLongN = array of...

Разобрать код, который не компилируется - Pascal
есть код. помогите разобраться в нем uses crt; var i,j, i1, j1, direction, direction1, tmp_i1, tmp_j1, tmp_i, tmp_j, n, number:...

Разобрать строку символов на массив слов - Pascal
разобрать строку символов на массив слов(255 символов и 128 слов)

Разобрать код транспонирования матрицы и пояснить результат - Pascal
Почему две программы работают одинаково? var a: array of integer; n, m, i, j: integer; begin read(n, m); //n -...

Ввести адрес файла и разобрать его на части - Pascal
Помогите с решением. УСЛОВИЕ: ввести адрес файла и разобрать его на части ,разделённые знаком '/'.Каждую часть вывести в отдельной...

1
kukuruku310
197 / 184 / 7
Регистрация: 14.02.2010
Сообщений: 539
18.02.2010, 22:22 #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
procedure ShellSort(var a: array of Word);
var
  bis, i, j, k: LongInt;
  h: Word;
begin
  bis := High(a);
  k := bis shr 1;// div 2
  while k > 0 do begin
    for i := 0 to bis - k do begin
      j := i;
      while (j >= 0) and (a[j] > a[j + k]) do begin
        h := a[j];
        a[j] := a[j + k];
        a[j + k] := h;
        if j > k then
          Dec(j, k)
        else
          j := 0;
      end;
    end;
    k := k shr 1; // div 2
  end;
end;
 
procedure TForm1.BtnClick(Sender: TObject);
var
  my_array: array [0..10] of Word;
  s1, s2: string;
  idx: Integer;
begin
  // заполняем массив случайными числами, одновременно формируем строку
  // с исходными значениями
  Randomize;
  s1 := '';
  for idx := Low(my_array) to High(my_array) do begin
    my_array[idx] := Random(100);
    s1 := s1 + Format('%d,', [my_array[idx]]);
  end;
 
  // вызываем сортировку
  Sort(my_array);
 
  // строка результата
  s2 := '';
  for idx := Low(my_array) to High(my_array) do
    s2 := s2 + Format('%d,', [my_array[idx]]);
 
  MessageBox(GetActiveWindow, PChar(s1 + #13 + s2), nil, 0);
end;
а ваша сортировка не рабочая
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2010, 22:22
Привет! Вот еще темы с ответами:

нужно разобрать что проискодит в каждой строке в программе - Pascal
есть текст программы помогите разобрать какое действие выполняет каждая строчка...т.е. нужно описание каждой строки....(сама задача: Дана...

Разобрать программу для рисования графиков функций от одной переменной - Pascal
Народ, помогите пожалуйста! Надо создать универсальную программу для построения любых графиков функций в Turbo Pascal. Например, задаешь...

Разобрать алгоритм и программу, определяющие сумму ряда с заданной погрешностью (ипсилон) - Pascal
Фото самого задания: Ссылка удалена. Фото дополнительной для него информации (Под номером 12): Ссылка удалена. Надеюсь на помощь.

Не могу разобрать код - Программирование Android
String a = &quot;Antonov:Vlad , aa : b&quot;; String kk = a.split(Pattern.quote(&quot;:&quot;)); Log.d(kk);Объясните пожалуйста как этот код работает при...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru