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

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Сортировка в Таблице...(Pascal), Методы сортировки бинарным включением, простым обменом, быстрая сортир
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

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


Необходимо создать однородную таблицу. Затем применить три метода сортировки: Бинарным включением, простым обменом, быстрая сортировка. по ключам №3 и №4. И подсчитать количество сравнений и обменов.

И так создаем таблицу:

Program sort;
Uses Crt;

Const
Max = 8;

Type GD = record
Bilet: Byte;
Marshrut: String;
Data: Integer;
Vagon: Byte;
Mesto: Byte;
end;

var
x: GD;
Tab: array [0..Max] of GD; //собственно сама таблица
i,j,r,l,m,k: byte ;
begin
for i:=1 to max do
with tab[i] do
begin //заполняем таблицу
writeln('Nomer Bileta: ',i);
readln(tab[i].bilet);
Write('Marshrut:');
readln(tab[i].marshrut);
Write('Data Viezda:');
Readln(tab[i].data);
Write('Nomer Vagona:');
Readln(tab[i].vagon);
Write('Nomer Mesta:');
Readln(tab[i].mesto);
end;
//Далее нужно выполнить бинарную сортировку включениями
Пробовал примастить вот это:
for i:=2 to max do
begin
x:=tab[i];
k:=tab[i].data;
l:=1;
r:=i-1;
while l<r do
begin
m:=(l+r) div 2;
if k<tab[m].data then r:=m-1 else l:=m+1;
end;
for j:=i-1 downto l do tab[j+1]:=tab[j];
tab[l]:=x;
end;
// не сортирует... Помогите пожалуйста кто-нибудь....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





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