imho.ws |
![]() |
![]() |
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
![]() |
# 1 |
Guest
Сообщения: n/a
|
![]()
Прочитала тысячу раз статью, погуглила, но код дают частичный. Меня интересует как именно нужно объявить переменные в случае сортировки выбором и пузырьковой. Авторы не объясняют новых переменных, все скомкано как-то=((
Вот как они описывают метод выбора: min:=m[1]; t:=1; FOR i:=1 to 10 do if m[i]><m[t] then t:=j; buf:=m[t]; m[t]:=m[i]; m[i]:=buf; end; Я НЕ ПОНИМАЮ что за переменная buf, какой ее тип! Нужно ли объявлять m[t] и что за переменная j? На мой вариант, естественно, компилятор матюкается. Program massivv; var mas: ARRAY[1..10] of real; i: integer; t: integer; min: integer; j: boolean; buf: integer; begin FOR i:=1 to 10 do begin Writeln('Введите элемент последовательности N: ',i); Readln(mas[i]); end; min:=mas[1]; t:=1; FOR i:=1 to 10 do if mas[i]><mas[t] then t:=j; buf:=mas[t]; mas[t]:=mas[i]; mas[i]:=buf; end; end. Хотелось бы также увидеть полную версию сортировки методом вставки и особенно пузырьковой. Если кто-то не полениться написать, буду очень благодарна, если есть ссылки-дайте пожалуйста ![]() |
![]() |
# 2 | |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 515
![]() |
Тип тот же самый, что у элемента массива (в данном случае real). И у min, кстати, тип тоже должен быть real.
Да, насколько я знаю паскаль. Цитата:
BubbleSort http://www.softpanorama.org/Algorithms/Sorting/bubblesort.shtml Тут есть и другие методы http://www.softpanorama.org/Algorithms/sorting.shtml Правда, всё на C, но понять можно. Знал бы Паскаль - переделки на пару минут... Судя по комменту того исходника - index of the end of sorted region. Явно должна быть integer.
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
|
![]() |
![]() |
# 5 |
Member
Регистрация: 19.03.2006
Сообщения: 220
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
на сколько я помню, такое делать нельзя
j - boolean, т.е. True\False t - он integer buf - видимо сокращение от buffer - т.е. используется как переменная для временного хранения данного mas на месте t идёт в buf mas на месте i идёт в mas на месте t то что оказалось в buf идёт в mas на месте i ______________ т.е. mas[t] и mas[i] меняются местами Напиши подробнее что требуется сделать, что дано и т.п. Последний раз редактировалось CheshireCat; 13.08.2008 в 00:41. |
![]() |
![]() |
# 6 |
Guest
Сообщения: n/a
|
Всем спасибо, просветление наступило.Вот я сделала пузырьковым методом:
Program sortirov_puzirok; var m: array[1..5] of integer; ind: boolean; i: integer; buf: integer; begin For i:=1 to 5 do begin Writeln('Введите число последовательности N: ',i); Readln(m[i]); end; Repeat ind:=true; For i:=1 to 4 do if m[i]>m[i+1] then begin buf:=m[i]; m[i]:=m[i+1]; m[i+1]:=buf; ind:=false; end; until ind; Writeln('Результат сортировки по возрастанию: '); For i:=1 to 5 do Writeln(m[i]); end. __________ с сортировкой выбором так ничего не получается=((уже все методы перепробовала, кроме правильного ^^. Последний раз редактировалось Levilaulada; 13.08.2008 в 21:57. |
![]() |
# 7 | |||
Member
Регистрация: 19.03.2006
Сообщения: 220
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
http://ru.wikipedia.org/wiki/%D0%A1%...80%D0%BE%D0%BC Цитата:
Код:
for i := 1 to n - 1 do begin min := i; for j := i + 1 to n do if a[min] > a[j] then min := j; t := a[i]; a[i] := a[min]; a[min] := t; end; Цитата:
Ты смотришь на каждую по очереди и сравниваешь с оставшимися в ряду у кого самая красивая сумочка. Если нашла, то меняешь их местами. В первый заход на первом месте оказыается девушка с самой красивой сумочкой. Во второй на втором оказывается менее красивая сумочка и так далее..... В последний заход ты сравниваешь сумочки девушек на предпоследнем и последнем месте в ряду. Последний раз редактировалось CheshireCat; 15.08.2008 в 14:19. |
|||
![]() |
![]() |
# 10 | ||
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
||
![]() |
![]() |
# 11 |
Guest
Сообщения: n/a
|
CheshireCat, спасибо за забавные объяснения, смеялась долго)В целом я понимала алгоритм, а вот написать программу не удавалось. В коде нашла две ошибки, но все теперь работает!
AlqualKi, студентам желательно так не объяснять, иначе они будут умственно оболванены. |