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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DeFeND
0 / 0 / 1
Регистрация: 18.10.2011
Сообщений: 37
#1

Шейкерная сортировка и последовательный поиск(код на паскаль дан) - C++

14.05.2012, 19:02. Просмотров 596. Ответов 0
Метки нет (Все метки)

Дано натуральное число N (1£N£100), целочисленный линейный массив a0, a1, …, aN-1. Элементы массива заполняются случайными целыми числами из диапазона [0, N]. Требуется отсортировать массив. Метод сортировки шейкерный. После сортировки произвести поиск в массиве введенного значения последовательно с конца массива
Код Паскаль я уже сделал вот он,перевидите на С
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
Uses Crt;
Const
n= 10;
m= 10;
 
Type
  TIndex = 1..N;
  TElement = integer;
  TVector = array [TIndex] of TElement;
 
Var
  a: TVector;
  i:TIndex;
 
 {Їа®жҐ¤га* ᮧ¤**Ёп ¬*ббЁў*}
Procedure MakeVector(var a: TVector);
Var
  i:TIndex;
 
  begin  {MakeVector}
   randomize;
   for i:=1 to n do
   a[i]:=1+random(n+1);
  end;   {MakeVector}
 
 {Їа®жҐ¤га* ўлў®¤* ** нЄа** ¬*ббЁў* *}
procedure PrintVector (Var a: TVector);
 Var
   i:TIndex;
 
 begin {PrintVector}
 
  for i:=1 to N do
   write (a[i]:5);
  writeln;
 
 end;  {PrintVector}
 
{Џа®жҐ¤га* ®Ў¬Ґ**}
Procedure Swap (var f,g: TElement);
 Var
   t:TElement;
 
 begin {Swap}
   t:=f;
   f:=g;
   g:=t;
 end;  {Swap}
 
 
  {Џа®жҐ¤га* Ї®ЁбЄ* б Є®*ж* ¬*ббЁў*}
 procedure search(i:TIndex);
var
k:integer;
 
begin
  i:=n;
  writeln('ўўҐ¤ЁвҐ н«Ґ¬Ґ*в, Є®в®ал© *г¦*® **©вЁ');
  readln(k);
  while (i>=1) and (a[i]<>k) do
  dec(i);
    if i>=1 then writeln ('н«Ґ¬Ґ*в **©¤Ґ*, Ё*¤ҐЄб i= ', i)
    else
    writeln('н«Ґ¬Ґ*в *Ґ **©¤Ґ*')
end;
 
 
 {Їа®жҐ¤га* 襩ЄҐа*®© б®авЁа®ўЄЁ}
Procedure QNSort(l,r:integer);
 Var
   k,j:integer;
   x:integer;
 Begin
   l:=2;
   r:=n;
   k:=n;
   repeat
        for j:=r downto l do
          if a[j-1]>a[j] then
            begin
            x:=a[j-1];
            a[j-1]:=a[j];
            a[j]:=x;
            k:=j
            end;
        l:=k+1;
        for j:=l to r do
          if a[j-1]>a[j] then
            begin
            x:=a[j-1];
            a[j-1]:=a[j];
            a[j]:=x;
            k:=j
            end;
        r:=k-1;
        until l>r
        end ;
  Begin  {Program}
  MakeVector(a);  {‘®§¤**ЁҐ ¬*ббЁў* *}
  Writeln('?б室*л© ¬*ббЁў:');
  PrintVector(a); {‚лў®¤ ** нЄа** ¬*ббЁў* *}
  QNSort(1,n);
  Writeln ('®вб®авЁа®ў***л© ¬*ббЁў:');
  PrintVector(a);
  Search(i);
  readkey;
End.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2012, 19:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шейкерная сортировка и последовательный поиск(код на паскаль дан) (C++):

Шейкерная сортировка + сортировка слиянием - C++
вот часть когда,которая выполняет шейкерную сортировку : для символьного и целочисленого массива . // ConsoleApplication15.cpp:...

Шейкерная сортировка массива - C++
Не удается с внизсходящего поменять сортировку на вверхсходящую #include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;time.h&gt; ...

Шейкерная сортировка двусвязного списка - C++
Здравствуйте! У меня возникла проблема с сортировкой двусвязного списка. Получилось реализовать двусвязный список и отдельно...

Шейкерная сортировка без использования while цикла - C++
Ребят, сделал шейкерную сортировку через два вложенных цикла - не работает. Не могу понять в чем проблема, подскажите пожалуйста. ...

Шейкерная сортировка массива (в виде функции) - C++
Выполнить сортировку целочисленного массива(поиск в массиве) из n элементов. Алгоритм сортировки(поиска) Шейкер-сортировка, оформить в виде...

Массивы и последовательный поиск - C++
Помогите пожалуйста. Дан массив X.Определить, есть ли в массиве число Z, с использованием метода последовательного поиска.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2012, 19:02
Привет! Вот еще темы с ответами:

Бинарно-последовательный поиск - C++
Здраствуйте.Ктонить может написать алгоритм бинарно-последновательного поиска.Плз в инете искал несмог найти... Добавлено через 29...

Индексно-последовательный поиск - C++
вообщем задание такое: &quot;Организовать индексно-последовательный поиск в файле, содержащем список студентов ВУЗа, упорядоченный по фамилии....

Поиск. Последовательный поиск - C++
Через 2 дня сдавать лабу =-O , а я до сих пор ни могу с ней справиться :umnik: ... Препад, чесное слово &quot; дебил &quot; :-| , дал задания, а...

Последовательный и быстрый последовательный поиски - C++
Разработать программу для реализации алгоритма последовательного поиска. Написала программу для быстрого последовательного поиска, не...


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

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

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