Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.11;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
1-32513
Геральт
2002-02-24 22:58
2002.03.11
Работа с OLE контейнером


1-32459
b00ts0
2002-02-22 23:01
2002.03.11
ламерский вопрос относительно чата для локальной сети


14-32566
copyr25
2002-01-23 19:56
2002.03.11
Компьютер - первое творение человека, создав которое,


6-32521
Malder
2001-12-22 17:19
2002.03.11
Определение IP локального компьютера


14-32551
MJH
2002-01-26 11:31
2002.03.11
MSVCR70.DLL