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

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

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

> подсчеты перестановок и сравнений в сортировках +графика
kreativshik
сообщение 25.03.2007 17:37
Сообщение #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.

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


Гость






И добавление счетчиков в алгоритмы сортировки и работа с гистограммами рассматривались на форуме. Пользуйся поиском...
 К началу страницы 
+ Ответить 
kreativshik
сообщение 25.03.2007 19:26
Сообщение #3


Гость






нет там ничего ,что мне надо =(
 К началу страницы 
+ Ответить 
kreativshik
сообщение 27.03.2007 16:39
Сообщение #4


Гость






помогите хоть кто нибудь плиз
 К началу страницы 
+ Ответить 

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


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

 



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