Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
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
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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
VBA Сортировка массива по возрастанию
Отсортировать одномерный массив состоящий из n элементов. Sub lab() Dim i As Integer Dim j As Integer Dim s, a() As Integer n = 0 Do Until Cells(n + 1, 1) = Empty n = n + 1 ReDim Preserve...
VBA xTIMOXAx 02.05.2014 17:33
Java SE Сортировка массива по возрастанию
не могу сортировать массив. Первую строку вывести в возрастающим варианте на вторую строку. В этом коде просто выведены две строки, надо сортировать вторую строку по возрастанию. package Aiba; ...
Java SE (J2SE) Alginsky 02.04.2014 16:14
Turbo Pascal сортировка массива по возрастанию
Дан целочисленный массив из 10-ти элементов. Отсортировать по возрастанию. Желательно делать не особо замудренную, без функций и т.д., на уровне техникума.
Turbo Pascal afsdsome 01.04.2013 17:22
C++ Сортировка массива по возрастанию
Задача состоит в следующем. Сортировать двумерный массив по возрастанию, методом выбора максимума, согласно данному рисунку. http://img13.imageshost.ru/img/2013/03/25/image_51503349e47de.jpg ...
С++ для начинающих gats 26.03.2013 10:01
Turbo Pascal Сортировка массива по возрастанию
Дан массив , состоящий из 15 целых чисел, в диапозоне от 0 до 255. Содержимое массива сортируется по возрастанию. После этого вводится контрольный вопрос. Необходимо определить наличие в массиве...
Turbo Pascal Lakey 22.06.2012 10:05
Turbo Pascal Сортировка массива по возрастанию
Подскажите что будет в С2 после выполнения цикла(выделено) uses crt; const n=10; var a: array of integer; i,j: integer; c: integer; c2: integer; begin clrscr; for i:=1 to n do
Turbo Pascal Appostl 29.10.2010 13:42
Pascal Сортировка массива. Упорядочить нечетные элементы массива по возрастанию методом обмена
Упорядочить одномерный массив по возрастанию, методом обмена. (по возрастанию должны быть толбко нечётные элементы)
Pascal (Паскаль) Divin 23.05.2010 09:38
Pascal Сортировка заданного массива по возрастанию
№1.Дан массив из 10 - ти элементов вещественного типа.Разработать программу которая сортирует заданный массив по возрастанию и вычисляет сумму трёх первых положительных элементов заданного...
Pascal (Паскаль) alex21 10.01.2010 21:05
Опции темы

Текущее время: 22:51. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.