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

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

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

> подсчеты перестановок и сравнений в сортировках +графика
сообщение
Сообщение #1


Гость






Народ , это моя программа котороая считает кол-во престановок и сравнений в двух сортировках : прямого включения и выбора.
Помогите пожалуйста добавить в эту программу квиксорт (quicksort) и подсчитать в ней перестан и сравнения.
я пробовал брать стандартный пример квик сорта из экзамплов и вставлял в него счетчики , но они не работали =( . Помогите плз.
и результаты перестановок и сравнений надо представить с помощью гистограмм.(с графикой я вообще не люблю общаться =( )




uses crt;
const n=100;
type tm= array [1..n] of integer;
var i,j,peres,k,u,temp,srav,otv:integer;
a,b:tm ;

procedure pech_massiv(a:tm);
begin
randomize;
for i:=1 to n do
write(a[i],' ');
writeln;
end;



Procedure pr_vkl (var a:tm);
var
i,j,m,r:integer;
begin
for i:=2 to n do
begin
r:=a[i];
j:=i-1;
while (j>=1)and(r<a[j]) do begin
a[j+1]:=a[j];
dec(j);
Inc(Srav);
Inc(Peres);
end;
a[j+1]:=r;
end;
textcolor(blue);
for i:=1 to n do

write(a[i],' ');
writeln;
textcolor(white);
writeln('Metod priamogo vklycheniia:');
writeln('Chislo perestanovok = ',peres);
writeln('Chislo sravneniy = ',srav);
readln;
end;












procedure vybor(a:tm);
begin
peres:=0;
srav:=0;


for i:= 1 to n-1 do
begin
k := i;
temp := a [i];
for j := i+1 to n do
begin
inc(srav);
if a [j] < temp then
begin
k := j;
temp := a [j];
end;
end;
a [k] := a [i];
if k <> i then inc(peres);
a [i] := temp;
end;
write('Sortirovka');
textcolor(red);
for i:=1 to n do

write(a[i],' ');
writeln;
textcolor(3);
writeln('Metod priamogo vybora:');
textcolor(white);
writeln('Chislo perestanovok = ',peres);
writeln('Chislo sravneniy = ',srav);

end;

begin
clrscr;
textcolor(5);
writeln('Neotsortirovannyu massiv:');
randomize;
for i:=1 to n do
begin
a[i]:=random(100);
textcolor(green);
write(a[i],' ');
end;
writeln;

Srav:=0;
Peres:=0;
b:=a ;
vybor(a);
pr_vkl(a);

textcolor(5);
writeln('massiv otsortirovannyu po vozrastaniy:');
textcolor(green);
for i:=2 to n do
for j:=n downto 1 do
if a[j-1]>a[j] then
begin
u:=a[j-1];
a[j-1]:=a[j];
a[j]:=u;
end;
for i:=1 to n do
write (a[i], ' ');
writeln;
b:=a ;

Srav:=0;
Peres:=0;
vybor(a);
pr_vkl(b);
writeln;
{clrscr;}
textcolor(5);
writeln('Massiv otsortirovannyu po ybyvaniy:');




textcolor(green);
for i:=2 to n do
for j:=n downto 1 do
if a[j-1]<a[j] then
begin
u:=a[j-1];
a[j-1]:=a[j];
a[j]:=u;
end;
for i:=1 to n do
write (a[i], ' ');
writeln;
Srav:=0;
Peres:=0;
vybor(a);
pr_vkl(a);

writeln;


b:=a;
repeat
begin
writeln(' 1-Exit ');
readln(otv);
case otv of
1:end;

end;
until otv=1;

end.

 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






народ , на помощь плз
 К началу страницы 
+ Ответить 

Сообщений в этой теме
kreativshik   подсчеты перестановок и сравнений в сортировках +графика   25.03.2007 21:37
volvo   И добавление счетчиков в алгоритмы сортировки и ра…   25.03.2007 22:43
kreativshik   нет там ничего ,что мне надо =(   25.03.2007 23:26
kreativshik   помогите хоть кто нибудь плиз   27.03.2007 20:39
kreativshik   I need help хоть кто нибудь помогите !!…   28.03.2007 23:41
volvo   Как же "нет"? Вот тут, например, показы…   28.03.2007 23:49
Гость   если тебя не затруднит плиз , я не знаю как сделат…   28.03.2007 23:57
volvo   Уточни что именно тебе надо, чтобы отображалось в …   29.03.2007 0:03
Гость   мне нужно чтобы бралось три сортировки и выводилис…   29.03.2007 0:10
Гость   помогите хоть кто нить плз   4.04.2007 1:42
Гость   народ , на помощь плз   4.04.2007 19:27
volvo   Вот это устроит?   4.04.2007 21:00
Гость   да , только не мог бы ты пояснить эти строчки : …   5.04.2007 22:40
volvo   Мог бы... Изначально массив, который надо сортиро…   5.04.2007 22:50
Гость   огромное спасибо   6.04.2007 3:04


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

 





- Текстовая версия 11.09.2025 20:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name