Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > >
Восстановить пароль Регистрация
 
Ne-angel-2-11-90
Форумчанин
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 71
08.06.2009, 16:05     сортировка по возрастанию массива
  #1
произвести сортировку заданного целочисленного массива Anm по возрастанию
AdAgent
Объявления
08.06.2009, 16:05
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2009, 16:05

Посмотрите здесь:

Turbo Pascal Составить программу сортировка массива по возрастанию

Pascal Сортировка элементов массива по возрастанию

Turbo Pascal сортировка массива по возрастанию

Free Pascal Сортировка по возрастанию элементов массива

Turbo Pascal Сортировка массива по возрастанию

Pascal ABC Сортировка массива по возрастанию и убыванию

Pascal Сортировка массива. Упорядочить нечетные элементы массива по возрастанию методом обмена

Turbo Pascal Сортировка по возрастанию элементов массива

sheka
Босс
161 / 128 / 4
Регистрация: 03.06.2009
Сообщений: 751
08.06.2009, 16:10
  #2
извините что на украинском - но это можна и не читать.

8. Алгоритми впорядкування табличних величин. "Метод бульбашки".
"Метод бульбашки" основується на перестановці сусідніх чисел. Для впорядкування елементів масиву здійснюємо повторні проходи по масиву, кожного разу переміщаючи найменший елемент частини масиву, що залишився, на початок.
Переміщення елементів масиву здійснюється таким чином: переглядаємо масив справа наліво, порівнюючи пари сусідніх чисел; якщо числа в парі розміщені в порядку зростання, то залишаємо їх без зміни, а якщо ні  то міняємо їх місцями.
В результаті першого проходу найменше число буде поставлене на поча¬ток масиву. У другому проході такі операції виконуються над елементами з останнього до другого, у третьому  з останнього до третього і т.д. Впо¬рядкування масиву буде закінчено, якщо при проході масиву не виконувати¬меться жодної перестановки елементів масиву. Факт перестановки фіксується з допомогою допоміжної змінної ргар, яка на початку має значення 0 і набуває значення 1 тоді, коли виконуватиметься перестановка в якій-небудь парі. Прапорець PRAP використовується з метою економії часу в тому випадку, коли частина елементів масиву наперед впорядкована.
Код 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
Program BUBBLESORT; 
Uses CRT;
Const N=10; {кількість елементів масиву}
 Var A:array[l..N] of integer; {опис масиву}
 I,j:integer; {допоміжні змінні}
 ADOP:integer; {допоміжна змінна}
  PRAP:integer; 
   begin 
       clrscr;
writeln('Введіть елементи масиву');
 for i:=l to N do begin
write('A[',i, ']='); readln(A[i]); end;
writeln('Масив до сортування:'); writeln;
for i:=l to N do write(A[i]:5); writeln;
i:=2;
repeat 
prap:=0;
for j:=N downto і do begin
if A[j]<A[j-l] then begin
ADOP:=A[j-l];
A[j-1]:=A[j];
                                              A[j]:=ADOP;
                                                PRAP:=l; 
                                                             end; 
                                                        end; 
                      i:= i+1;
until PRAР=0; 
writeln;
     writeln('Macив після сортування:');
     writeln; 
     for i:=l to N do write(A[i]:5); 
     writeln; 
     end.
9. Впорядкування елементів масиву методом вибору мінімального елемента.
Даний метод основується на тому, що масив переглядається перший раз. Знаходиться мінімальний елемент цього масиву, який міняється місцями з першим елементом масиву.
Другий раз масив переглядається, починаючи з дру¬гого елементу. Знову знаходиться мінімальний елемент, який міняється місцями з другим елементом масиву. Даний процес виконується до тих пір, поки не буде поставлено на місце N-1-ий елемент.
Код 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
 Program MINSORT; 
 Uses CRT;
 Const N= 10; {кількість елементів масиву} 
Var A:array[l..n] of integer; {опис масиву}
 I,j:integer; {допоміжні змінні}
 Amin:integer; {допоміжна змінна для }
{мінімального елементу масиву}
           l: integer; {порядковий номер}
                            {мінімального елементу масиву} 
      begin 
            ClrScr;
writeln('Введіть елементи масиву');
 for і:=1 to N do begin
   writeln('введи елемент масиву');
    readln(A[i]);
                            end;
writeln('Масив до сортування:'); writeln;
for i:=l to N do write(A[i]:5); 
writeln; 
 for i:=l to N do begin
Amin:=A[i];
L:=i;
                      J:=i+1;
                   While j<=n do
                             begin
                                 If Amin>A[j] then
                                                             Begin
                                                                Amin:=a[j];
                                                                 L:=j;
                                                              End;
                                   J:=j+1;
                              End;
                     A[l]:=A[i];
                    A[i]:=Amin;
                      end;
                writeln;
writeln('Масив після сортування:'); 
writeln;
     for i:=l to N do write(A[i]:5); 
     writeln;
     end.
10. Метод швидкого сортування.
В основу метода покладена ідея послідовного дроблення масиву на частини.
Код 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
Const N=10;
Var A: array[1..N] of integer;
        i:integer;
Procedure Quick(first,last:integer);
Var i,j,x,w,linteger;
Begin
I:=first;
J:=last;
X:=A[(first+last) div 2];
Repeat
While A[i]>x do i:=i+1;
While x>A[j] do j:=j-1;
If i<=j then begin
                      W:=A[i];
                       A[i]:=A[j];
                       A[j]:=w;
                        I:=i+1;
                        J:=j-1;
                         End;
until i>j;
if first<j then Quick(first,j);
if i<last then quick(i,last);
end;
 Begin
For i:=1 to N do begin
Writeln(‘введи елемент масиву’);
Readln(A[i]);
End;
Quick(1,N);
writeln('Масив після сортування:'); 
writeln;
 for i:=l to N do write(A[i]:5); 
 writeln;
end.
Ne-angel-2-11-90
Форумчанин
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 71
08.06.2009, 16:34  [ТС]
  #3
ничего себе!! придется долго разбираться...
СПАСИБО!!
Xanat0s
Новичок
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 6
15.06.2009, 08:01
  #4
Вы чё блин тут в глаза долбитесь?! Написано же в задании сортировать МАССИВ,а не ВЕКТОР! Сходите к окулисту!
Modeus
Новичок
0 / 0 / 0
Регистрация: 23.05.2009
Сообщений: 3
15.06.2009, 09:43     сортировка по возрастанию массива
  #5
Массив-это и вектор и матрица Но я полностью согласен с предыдущим мнением,т.к. сказано что дан Массив Anm...значит матрица
Yandex
Объявления
15.06.2009, 09:43
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему
Опции темы

Текущее время: 10:12. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.