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

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

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

> Сортировка списка простыми вставками, что-то никак не выходит
сообщение
Сообщение #1


Гость






Посомтрите код пожалуйста! Что не так?
Код

program sort1;
uses crt;
type
    plist = ^tlist;
    tlist = record
        info: integer;
        link: plist;
    end;
var    first: plist;
procedure sort (p: plist);                    {Процедура сортировки простыми вставками}
var t: plist;
begin
    while p<>nil do
        begin
            t:=p^.link;
            if p^.info>t^.info then
                begin
                    t^.link:=p;
                    p^.link:=t;
                    sort (first);
                    break;
                end;
            p:= p^.link;
        end;
end;
procedure print(p: plist);                    {Процедура вывода списка}
begin
    while p <> nil do
        begin
            write(p^.info, ' ');
            p := p^.link;
        end;
    writeln;
end;
procedure vvod (var first: plist);                {Процедура ввода списка}
var    s: integer;
    p, last: plist;
begin
    last := first;
    repeat
        write('Введите следующий элемент: ');
        readln(s);
        if s <> 0 then
            begin
                new(p);
                p^.info := s;
                p^.link := nil;
                if first = nil
                    then
                        first := p
                    else     last^.link := p;
                last := p;
            end;
    until s = 0;
end;
begin
    clrscr;
    writeln('Введите список:');
    first:=nil;
    vvod (first);
    sort (first);
    print(first);
    readkey;
end.
 К началу страницы 
+ Ответить 

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


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

 





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