![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.06.2008
Сообщений: 13
|
![]()
В общем если не жалко помогите сижу целый вечер и немогу понять как правильно сделать и с чего начать....
Написать параметризованную функцию сортировки методом отбора. Например, если бы строка "dcab" сортировалась методом отбора, то каждый из проходов давал бы результат: Исходный массив Dcab Проход 1 Acdb Проход 2 Abdc Проход 3 Abcd Я смотрю примеры с цифрами есть а как с символами-сделать не пойму- и 2 задача--- создании программы сортировки методом Шелла. Проход1 F D A C B E Проход1 C B A F D E Проход1 A B C F D E Результат A B C D E F Я новичок в Дельфи . А с этим надо разобраться.... Или может ссылки дадите на то как с этим разобраться Заранее спасибо! Последний раз редактировалось Onza; 24.01.2009 в 21:19. Причина: ошибки |
![]() |
![]() |
![]() |
#2 |
Регистрация: 24.01.2009
Сообщений: 7
|
![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 24.12.2008
Сообщений: 19
|
![]()
на твоем месте, при помощи функции
Ord(c:Char):byte; я бы преобразовал буквы в цифры их порядкового значения и, раз уж я на твоем месте и знаю как мотать массив цифр, работал бы с ними, а потом вертанул бы назад буквы: chr(i:byte):char;
Пока жирафы думают, кролики делают!
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 22.06.2008
Сообщений: 13
|
![]()
procedure TForm1.ButtonlClick(Sender: TObject);
const SIZE = 10; var a: array[1..SIZE] of integer; min: integer; { номер минимального элемента в части массива от i до верхней границы массива } j: integer; { номер элемента, сравниваемого с минимальным } buf: integer; { буфер, используемый при обмене элементов массива } i, k: integer; begin // ввод массива for i := l to SIZE do a[i] := StrToInt(StringGridl.Cells[i - 1, 0]); Iabel2.caption := ''; for i := l to SIZE - 1 do begin { поиск минимального элемента в части массива от а[1] до a[SIZE]} min := i; for j := i + l to SIZE do if a[j] < a[min] then min := j; { поменяем местами a [min] и a[i] } buf := a[i]; a[i] := a[min]; a[min] := buf; { вывод массива } for k := l to SIZE do Label2.caption := label2.caption + ' ' + IntTostr(a[k]); Label2.caption := label2.caption + #13; end; Label2.caption := label2.caption + #13 + 'MaccMB отсортирован.'; end; Вот пример с цифрой что поменять? или тут глобально надо менять всё? Последний раз редактировалось Onza; 24.01.2009 в 20:51. Причина: недописал |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 22.06.2008
Сообщений: 13
|
![]()
2 Котовский -спасибо попробую.... об этом думал но не совсем осознаю как реализовать это. Все что делаю в Дельфи это собираю из кусков программы и как ту умудряюсь их запускать.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 22.06.2008
Сообщений: 13
|
![]()
А можно другим способом или нет?
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
![]()
обычный алгоритм сортировки выбором: через консоль, ибо на паскале пишу:
Код:
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
![]()
там чтобы в делфях заработало надо написать перед программой {$apptype console}
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 22.06.2008
Сообщений: 13
|
![]()
Да в том то и дело! Что надо разобраться как в Дельфи.
Весь вопрос в том как продолжить.. procedure TForm1.ButtonlClick(Sender: TObject); var a: array[1..SIZE] of string; далее надо переводить посредством Ord(a:Char):byte; вот тут то знаний и не хватает ![]() |
![]() |
![]() |
![]() |
#10 |
delphi-ст!
Форумчанин
Регистрация: 02.01.2009
Сообщений: 825
|
![]()
объяви
Код:
Код:
Код:
вступлю в команду разработчиков ПО на Delphi
Последний раз редактировалось maladoy; 24.01.2009 в 23:19. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
BDE + сортировка на дельфи | pnv152 | Помощь студентам | 4 | 21.01.2009 15:31 |
Помогите - Сортировка методом пузырька Delphi | #Nii | Помощь студентам | 5 | 21.12.2008 14:53 |
сортировка методом двухпроходного пузырька. | Net* | Общие вопросы C/C++ | 3 | 26.05.2008 07:17 |