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

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

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

 
 Ответить  Открыть новую тему 
> сортировка прямым включением
-Катя-
сообщение 22.12.2006 17:59
Сообщение #1


Гость






Вот процедура , которая сортирует массив прямым выбором и считает число сравнений и число перестановок, помогите плз сделать процедуру для метода прямого включения .
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(white);
writeln('Chislo perestanovok = ',peres);
writeln('Chislo sravneniy = ',srav);
readln;
end;


Тегами не забываем пользоваться...

Сообщение отредактировано: volvo - 22.12.2006 18:15
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 22.12.2006 19:58
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


если я правильно понимаю, метод прямого включения - то же, что и простые вставки?

const n=7;
type massiv=array [1..n] of integer;

procedure vstavka(var ar:massiv; n:integer);
var i, j, buf: integer;
begin
for i:=1 to n do
begin
buf:=ar[i];
j:=i-1;
while (buf<ar[j]) and (j>=0) do
begin
ar[j+1]:=ar[j];
j:=j-1;
end;
ar[j+1]:=buf;
end;
end;


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-катя-
сообщение 22.12.2006 20:25
Сообщение #3


Гость






а как добавить сюда счетчик для сравнений идля перестановок ????
 К началу страницы 
+ Ответить 
volvo
сообщение 22.12.2006 20:26
Сообщение #4


Гость






Здесь про это говорилось: Cчётчики

(то же самое - для любого другого метода...)
 К началу страницы 
+ Ответить 

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

 



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