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

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

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

> сортировка двухпутевой вставкой
Гость
сообщение 28.05.2008 11:44
Сообщение #1


Гость






Мальчики, пожалуйста, дайте код сортировки двухпутевой вставкой. Пожалуйста!!!!Оень нужно!!!!!!!!
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Гость
сообщение 24.06.2008 17:56
Сообщение #2


Гость






Большое спасибо, ВАМ!!! Да, я думаю это и есть двухутевые вставки. У меня к ВАМ еще один вопрос, а нельзя это как то сделать, исправив то что я навояла. А то я половины операторов не знаю, в том что ВЫ написали. Ужасный программист из меня похоже...

program Project2;

{$APPTYPE CONSOLE}
uses
SysUtils,
windows;

const
n=10;
type
mas=array [1..n]of integer;
var
a:mas;
i:integer;

procedure insert (var a:mas);
var
t,i,j,left,right:integer;
x:array[1..2*n-1]of integer;
begin
left:=n-1;
right:=n-1;
for i:=1 to 2*n-1 do
x[i]:=0;
x[n-1]:=a[1];
for i:=1 to n do
begin
t:=a[i];
if t>=a[1] then
begin
j:=right;
while (j>=0) and (t<x[j]) do
begin
j:=j-1;
x[j+1]:=x[j];
end;
x[j]:=t;
right:=right+1;
end
else
begin
j:=left;
while (j<=2*n-1) and (t>x[j]) do
begin
j:=j+1;
x[j-1]:=x[j];
end;
x[j]:=t;
left:=left-1;
end;
end;
j:=left;
while j<left+n do
begin
a[j-left]:=x[j];
j:=j+1;
end;
end;

BEGIN
SetConsoleCp(1251);
SetConsoleOutputCp(1251);
writeln('введите ', n,' чисел');
for i:=1 to n do
readln(a[i]);
writeln('отсортированные числа');
insert(a);
for i:=1 to n do
writeln(a[i]);
readln;
END.

 К началу страницы 
+ Ответить 

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


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

 



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