powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сортировка методом "пузырька"
6 сообщений из 6, страница 1 из 1
Сортировка методом "пузырька"
    #38045503
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста как при сортировки сохранить индексы
например дан масс
Код: pascal
1.
2.
3.
4.
5.
a[1]=7;
a[2]=6;
a[3]=5;
a[4]=4;
a[5]=3;


после сортировки
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
n:=5
for i:=1 to n-1 do 
    for j:=i+1 to n do {В этой строке начинающие программисты чаcто допускают ошибку}
      if a[i]>a[j] then 
        begin
          buf:=a[i]; 
          a[i]:=a[j]; 
          a[j]:=buf;
        end;


получаем массив
Код: pascal
1.
2.
3.
4.
5.
a[1]=3;
a[2]=4;
a[3]=5;
a[4]=6;
a[5]=7;


Как сохранить "вывести" индексы которые были до сортировки например сохранив их в массив С[i] получив что то типа
Код: pascal
1.
2.
3.
4.
5.
элемент=3 номер=5;
элемент=4 номер=4;
элемент=5 номер=3;
элемент=6 номер=2;
элемент=7 номер=1;


Спасибо
...
Рейтинг: 0 / 0
Сортировка методом "пузырька"
    #38045542
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cjhnbhjdfnm параллельно ещё один массив - изначально заполненный по порядку. Или преобразовать массив в двумерный. Или... да вариантов-то масса.
...
Рейтинг: 0 / 0
Сортировка методом "пузырька"
    #38045544
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorПодскажите пожалуйста как при сортировки сохранить индексы
например дан масс
Код: pascal
1.
2.
3.
4.
5.
a[1]=7;
a[2]=6;
a[3]=5;
a[4]=4;
a[5]=3;


после сортировки
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
n:=5
for i:=1 to n-1 do 
    for j:=i+1 to n do {В этой строке начинающие программисты чаcто допускают ошибку}
      if a[i]>a[j] then 
        begin
          buf:=a[i]; 
          a[i]:=a[j]; 
          a[j]:=buf;
        end;


получаем массив
Код: pascal
1.
2.
3.
4.
5.
a[1]=3;
a[2]=4;
a[3]=5;
a[4]=6;
a[5]=7;


Как сохранить "вывести" индексы которые были до сортировки например сохранив их в массив С[i] получив что то типа
Код: pascal
1.
2.
3.
4.
5.
элемент=3 номер=5;
элемент=4 номер=4;
элемент=5 номер=3;
элемент=6 номер=2;
элемент=7 номер=1;


Спасибо

1. Создать второй массив b
2. Присвоить b[1]=1 b[2]=2 ...
3. В процессе сортировки, когда меняете a[i]<->a[j] менять и b[i]<->b[j]

Либо использовать записи.
...
Рейтинг: 0 / 0
Сортировка методом "пузырька"
    #38045684
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
яснее с record вроде
Код: 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.
type para =    record
                   val: integer;
                   num: integer;
                   end;
...
a: array[1..10] of para;
... 
a[1].val:=7;
a[2].val:=6;
a[3].val:=5;
a[4].val:=4;
a[5].val:=3;
a[1].num:=7;
a[2].num:=6;
a[3].num:=5;
a[4].num:=4;
a[5].num:=3;
n:=5;
for i:=1 to n-1 do
    for j:=i+1 to n do
      if a[i].val>a[j].val then
        begin
          buf:=a[i].val;
          a[i].val:=a[j].val;
          a[j].val:=buf;
        end;

memo1.Clear;
i:=1;
while i<6
 do
 begin
 memo1.Lines.Add(' '+inttostr(i)+' '+inttostr(a[i].num));
 i:=i+1;
 end;
...
Рейтинг: 0 / 0
Сортировка методом "пузырька"
    #38045748
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Это Паскаль
...
Рейтинг: 0 / 0
Сортировка методом "пузырька"
    #38047538
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
голосую за использование record (запись).
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сортировка методом "пузырька"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]