Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2009, 10:02   #1
Walter
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 43
По умолчанию Списки

Всем доброго утречка! Мне нужна не большая помощь. Есть задачка по спискам с сортировкой пузырьком, но надо, чтобы эта сортировка сортировала все числа, а у меня только 2 и 3 число, кто может немного подкоректировать??? там вроде как немного осталось, но я не пойму как это сделать У мну сделано в делфике.
Код:
type pointer = ^R;
R = record info:integer;
            pt:pointer;
end;
var v,n,k,q,m,z,z1,z2,tmp,tmp1,tmp2:pointer;
x,y,w,i,j:integer;
begin
v:=nil;
repeat
write('Dobavitj novij element v na4alo spiska:');
Readln(x);
if x>0 then
begin
 New(n);
 n^.pt:=v;
 n^.info:=x;
 v:=n;
 end;
until (x<=0);
k:=v;
x:=0;
writeln('Spisok:');
repeat
inc(x);
Writeln(inttostr(x)+'----'+inttostr(k^.info));
k:=k^.pt;
until (k=nil);

writeln('Sortirovka');
New(n);
  n^.info:=0;
  n^.pt:=v;
  v:=n;
for j:=0 to x do
begin
  tmp2:=v;
  z:=v;
  z1:=z^.pt;
  z2:=z1^.pt;
repeat
  if z1^.info>z2^.info then
    begin
     tmp1:=z;
     tmp:=z2^.pt;
     z^.pt:=z2;
     z2^.pt:=z1;
     z1^.pt:=tmp;
     writeln('fffffffffff');
    end;
    Readln;
  tmp2:=tmp2^.pt;
  z:=tmp1;
  z1:=z^.pt;
  z2:=z1^.pt;
  z:=z^.pt;
  z1:=z1^.pt;
  z2:=z2^.pt;
until (z2=nil);
Readln;
end;
begin
k:=v;
x:=0;
writeln('Spisok:');
repeat
inc(x);
Writeln(inttostr(x)+'----'+inttostr(k^.info));
k:=k^.pt;
until (k=nil);
Readln;
end;
 Readln;

end.
Walter вне форума Ответить с цитированием
Старый 06.12.2009, 16:03   #2
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
Восклицание

На DELPHI как делать я не шарю, но вот на паскале сортировка методом пузырька!!!!
program psmp; {programma sortirovki metodom pyzirka}
const n=10;
var a:array [1..n] of integer;
c,i,j:integer;
begin
randomize; {inizzializazziya datchika slychainih chisel}
for i:=1 to n do a[i]:=random(10);
writeln ('ne yporiadochennyi massiv');
{raspechataem ne yporiadochennyi massiv}
for i:=1 to n do write (a[i],' ');
{SORTIROVKA}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then begin
{esli predidyshee chislo bolshe
posledyushego to meniaem ih mestami}
c:=a[j]; {perestraevaem dva chisla
s pomoshiu svobodnoi yacheiki 'c'}
a[j]:=a[i];
a[i]:=c;
end;
writeln;
writeln ('yporiadochennyi massiv');
{raspechataem yporiadochennyi massiv}
for i:=1 to n do write (a[i],' ');
readln;
end.
sir.andrey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Списки C++ paladinn Помощь студентам 1 27.05.2009 12:31
Списки? Chainic Microsoft Office Excel 13 06.05.2009 22:53
с++ списки Blizzz Общие вопросы C/C++ 3 04.12.2008 21:19
Списки... Arkuz Компоненты Delphi 2 19.04.2008 22:58