Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];

Вниз

Как организовать вывод чисел по возрастанию(убыванию)?   Найти похожие ветки 

 
KiD   (2002-02-21 19:03) [0]

Ситуация такая: есть 50 случайных чисел. А надо их упорядочить по возрастанию(убыванию). Help, plz.


 
Иван Шихалев   (2002-02-21 20:00) [1]

Домашние работы положено писать самостоятельно. Иначе от них никакой пользы.


 
KiD   (2002-02-21 20:40) [2]

Ну, плиз, хелп. Хотя бы подкиньте мыслишку в каком направлении думать.


 
Mitrofan   (2002-02-21 20:49) [3]

Почитай про сортировки (пурызьковая, слиянием, обменом, быстрая)
А вобще есть книга Д.Кнута Исскуство программирования, тама их вдоволь. А если могу прислать модуль QSort на Delphi написан.


 
KiD   (2002-02-21 20:53) [4]

Плиз, 1999baby@comtv.ru. Tnx.


 
vuk   (2002-02-21 21:24) [5]

>А если могу прислать модуль QSort
QSort, говорите... Вы о последствиях подумали? А вдруг у человека спросят - а как оно работает? :o)


 
KiD   (2002-02-21 23:03) [6]

Блин! Заманался писать :) Просьбочка у меня, посмотрите плиз, и скажите рационально я делал.

procedure TForm1.Button1Click(Sender: TObject);
var m: array[1..50] of real;
i,j,index,k: integer;
tmp,min: real;
begin
randomize;
for i:=1 to 50 do
begin
m[i]:=RandG(0,1);
Memo1.Lines.Add(FloatToStrF(m[i],ffFixed,15,3));
end;
k:=1;
while k<=50 do begin
for j:=1 to 50 do
begin
min:=m[j];
index:=j;
for i:=k to 50 do
begin
if m[i]<min then
begin
min:=m[i];
index:=i;
end;
end;
tmp:=m[j];
m[j]:=min;
m[index]:=tmp;
k:=k+1;
end;
end;
Memo1.Lines.Add(" ");
Memo1.Lines.Add("----");
Memo1.Lines.Add(" ");
for i:=1 to 50 do Memo1.Lines.Add(FloatToStrF(m[i],ffFixed,15,3));
end;

И хотел спросить можно мне это как-нибудь в функцию превратить? Кроде на занятиях слышал, что можно, да мимо ущей пропустил.

p.s. а где можно посмотреть исходники QuickSort на Дельфи?


 
KaPaT   (2002-02-22 01:21) [7]

Конечно не мое дело, но я бы тебе посоветовал хотя бы код нормально писать, а то лень даже браться за такой текст.
Если писать все "лесинками" то и глаз радуется.
А насчет сортировки:
Если это в школе то используй самый простой - пузырьковый метод.
Инфы на него много.
В функцию тоже можно превратить


 
KaPaT   (2002-02-22 01:28) [8]

Ладно пожалею. Не обещаю что ошибок не будет (спать хочу).
Вот тебе упорядочевание массива по возрастанию:

For i:= 1 to n do
begin
For j:= 1 to (n-1) do
If mas[j]>mas[j+1] then
begin
help:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=help;
end;
end;

n - кол-во эллиментов в массиве
mas - сам массив
help - просто вспомогательная переменная для обмена


 
KaPaT   (2002-02-22 01:32) [9]

Дико извиняюсь. Оказывается здесь ступеньками не пишет!


 
ilysha   (2002-02-22 08:51) [10]

RE> КаРаТ
Я в восхищении от того, что ты еще соображаещь в такое время, когда...


 
KaPaT   (2002-02-22 20:26) [11]

>ilusha
Чего-то я тебя не понял!


 
JohnnyCrisJoe   (2002-02-23 18:02) [12]

(DELPHI5)\Demos\Threads - 3 примера с сортировками.
Вы хоть уважайте людей, которые все эти Demos писали, для вас же старались.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.108 c
3-32406
ivans
2002-02-11 16:26
2002.03.11
Подгрузка картинок в DBGrid на лету по имени файла


1-32438
Fredericco
2002-02-22 11:02
2002.03.11
У меня вопрос, наверно, ламерский, но в FAQ е я этого не нашел. Вопрос по воводу сворачивания окон.


4-32605
mr.Morra
2002-01-12 19:44
2002.03.11
Вывести сообщения поверх других окон.


1-32466
KiD
2002-02-21 19:03
2002.03.11
Как организовать вывод чисел по возрастанию(убыванию)?


7-32600
Swan70
2001-11-28 10:37
2002.03.11
Кто захватил файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский