IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Quicksort, gettime
bigformat
сообщение 4.01.2006 21:46
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Не могу понять,до и после сортировки одно и тоже время....
Код
writeln('Kolichestvo chisel v massive:');
readln(rnd);
for i:=1 to rnd do begin
data[i]:=random(rnd);
end;
writeln('poluchenniy massiv:');
for i:=1 to rnd do begin
write(data[i],' ');
end;
writeln;
begin
gettime(h,m,s,ms);
quicksort(data,1,rnd);
gettime(h1,m1,s1,ms1);
writeln('Otsortirovanniy massiv:');
for i:=1 to rnd do
write(data[i],' ');
writeln('s:',h,':',m,':',s,':',ms);
writeln('e:',h1,':',m1,':',s1,':',ms1);
end;
end.

кто может сказать...еще,как вычислить теперь значение времени,за которое отсортировалось.?

Сообщение отредактировано: bigformat - 4.01.2006 21:47
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 11.01.2006 21:08
Сообщение #2


Гость






Function GetTime: LongInt;
Var h, m, s, ms: Word;
begin
Dos.GetTime(h, m, s, ms);
GetTime := ms + 100 * (s + 60 * (m + 60 * h));
end;

...
start := GetTime;
{ твоя сортировка }
WriteLn('Время сортировки = ', GetTime - start);
...
 К началу страницы 
+ Ответить 
bigformat
сообщение 11.01.2006 21:25
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


respect volvo,оч помог.
на будущее,кто будет искать...или кому лень будет
Код

program Kviksort;
uses crt,dos;
const n=20000;
type
list=array[1..n] of integer;
var
data:list;
i,rnd: integer;
start:word;

function Gettime:LongInt;
var h,m,s,ms:word;
begin
dos.gettime(h,m,s,ms);
gettime:=ms+100*(s+60*(m+60*h));
end;

procedure quicksort(var a:list; min,max: integer);
procedure sort(l,r: integer);
var
i,j,x,y: integer;
begin
i:=l;
j:=r;
x:=a[(l+r) div 2];
repeat
while a[i]<x do
i:=i+1;
while x<a[j] do
j:=j-1;
if i<=j then
begin
y:=a[i];
a[i]:=a[j];
a[j]:=y;
i:=i+1;
j:=j-1;
end;
until i>j;
If l<j then sort(l,j);
If i<r then sort(i,r);
end;
begin
sort(min,max);
end;
begin
randomize;
writeln;
writeln('Kolichestvo chisel v massive:');
readln(rnd);
for i:=1 to rnd do begin
data[i]:=random(rnd);
end;
writeln('poluchenniy massiv:');
for i:=1 to rnd do begin
write(data[i],' ');
end;
writeln;
begin
gettime;
start:=gettime;
quicksort(data,1,rnd);
writeln('Otsortirovanniy massiv:');
for i:=1 to rnd do
write(data[i],' ');
writeln;
write('vremya sortirovki=',gettime-start,'ms');
end;
end.

принимайте какой есть
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 19:03
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"