Сортировка массивов
исправь все ошибки кода и выложи его в эту тему , буду очень презнателен
-
- Сообщения: 526
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
[syntax="pascal"]
uses crt;
Const kol=10;
Type vector=array[0..kol-1] of integer;
var a:vector;
ch:char;
ii:integer;
procedure Sortirovka1(var arr:vector; n:integer);
var I,J,K:Integer;
Tmp:Integer;
begin
for i:=0 to N-1 do
for j:=0 to N-1-i do
if Arr[j]>=Arr[j+1] then
begin
Tmp:=Arr[j];
Arr[j]:=Arr[j+1];
Arr[j+1]:=Tmp;
end;
end;
procedure Sortirovka2(var arr:vector; n:integer);
var I,J,K:integer;
Tmp:Integer;
Begin
dec(N);
i:=1;
repeat
j:=0;
repeat
if Arr<=Arr[j] then
begin
k:=i;
Tmp:=Arr;
repeat
Arr[k]:=Arr[k-1];
dec(k);
until not(k>j);
Arr[j]:=Tmp;
j:=i;
end
else inc(j);
until not(j<i);
inc(i);
until not(i<=n);
end;
procedure Sortirovka3(var arr:vector; n:integer);
var I,J,K:Integer;
Tmp:Integer;
begin
dec(N);
i:=1;
repeat
j:=0;
repeat
if Arr>=Arr[j] then
begin
k:=i;
Tmp:=Arr;
repeat
Arr[k]:=Arr[k-1];
dec(k);
until not(k>j);
Arr[j]:=Tmp;
j:=i;
end
else inc(j);
until not(j<i);
inc(i);
until not(i<=n);
end;
procedure Print;
begin
writeln('Massiv:');
for ii:=0 to kol-1 do write(a[ii],' ');
end;
begin
clrscr;
randomize;
for ii:=0 to kol-1 do
begin
a[ii]:=random(50);
end;
Print;
writeln;
write('Press any key to CONTINUE...');
readkey;
repeat
clrscr;
writeln('Vyberite variant sortirovki:');
writeln('1 - Sortirovka 1');
writeln('2 - Sortirovka 2');
writeln('3 - Sortirovka 3');
write('...');
ch:=readkey;
until (ch='1') or (ch='2') or (ch='3') or (ch=#27);
case ch of
'1': Sortirovka1(a,kol);
'2': Sortirovka2(a,kol);
'3': Sortirovka3(a,kol);
end;
clrscr;
Print;
writeln;
write('Press any key to EXIT...');
readkey;
end.
[/syntax]
Читайте книжки
uses crt;
Const kol=10;
Type vector=array[0..kol-1] of integer;
var a:vector;
ch:char;
ii:integer;
procedure Sortirovka1(var arr:vector; n:integer);
var I,J,K:Integer;
Tmp:Integer;
begin
for i:=0 to N-1 do
for j:=0 to N-1-i do
if Arr[j]>=Arr[j+1] then
begin
Tmp:=Arr[j];
Arr[j]:=Arr[j+1];
Arr[j+1]:=Tmp;
end;
end;
procedure Sortirovka2(var arr:vector; n:integer);
var I,J,K:integer;
Tmp:Integer;
Begin
dec(N);
i:=1;
repeat
j:=0;
repeat
if Arr<=Arr[j] then
begin
k:=i;
Tmp:=Arr;
repeat
Arr[k]:=Arr[k-1];
dec(k);
until not(k>j);
Arr[j]:=Tmp;
j:=i;
end
else inc(j);
until not(j<i);
inc(i);
until not(i<=n);
end;
procedure Sortirovka3(var arr:vector; n:integer);
var I,J,K:Integer;
Tmp:Integer;
begin
dec(N);
i:=1;
repeat
j:=0;
repeat
if Arr>=Arr[j] then
begin
k:=i;
Tmp:=Arr;
repeat
Arr[k]:=Arr[k-1];
dec(k);
until not(k>j);
Arr[j]:=Tmp;
j:=i;
end
else inc(j);
until not(j<i);
inc(i);
until not(i<=n);
end;
procedure Print;
begin
writeln('Massiv:');
for ii:=0 to kol-1 do write(a[ii],' ');
end;
begin
clrscr;
randomize;
for ii:=0 to kol-1 do
begin
a[ii]:=random(50);
end;
Print;
writeln;
write('Press any key to CONTINUE...');
readkey;
repeat
clrscr;
writeln('Vyberite variant sortirovki:');
writeln('1 - Sortirovka 1');
writeln('2 - Sortirovka 2');
writeln('3 - Sortirovka 3');
write('...');
ch:=readkey;
until (ch='1') or (ch='2') or (ch='3') or (ch=#27);
case ch of
'1': Sortirovka1(a,kol);
'2': Sortirovka2(a,kol);
'3': Sortirovka3(a,kol);
end;
clrscr;
Print;
writeln;
write('Press any key to EXIT...');
readkey;
end.
[/syntax]
Читайте книжки
Нет религии выше истины
Кстати
Это все равно что "Ездить тремя видами транспорта: на машине, из Москвы в Питер и из Питера в Москву"." писал(а):сортировать массив тремя способами ( пузырьком, от большего к меньшему и от меньшего к большему )
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Пожалуйста помогите с программой: ввести три массива по 10 8 6 чисел, отсортировать по увеличению.
Код тремя постами выше.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.