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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 01.12.2011, 01:18   #1
NastyaSmile
Новичок
Джуниор
 
Регистрация: 30.11.2011
Сообщений: 2
По умолчанию найдите ошибку=(

Само задание: опишите и постройте с помощью двумерного массива Sps линейный однонаправленный список из семи целых чисел и сделайте этот список пустым. После этого добавьте в список шесть элементов 1,3,5,7,9,11, затем найдите указатель на элемент 9 и удалите этот элемент. В конце работы со списком вставьте после элемента со значением 11 элемент со значением 13, предварительно отыскав указатель на элемент со значением 11, а элемент со значением 15 вставьте после элемента со значением 3. Результаты как промежуточных, так и конечных результатов отобразить на экране.
Программа:
Const maxel=9;
Type Spis=array[1..2,1..maxel] of integer;
Var Assm, Afe : integer;
El,i,pap,j:integer;
Sps:Spis;
Procedure Nspis(Var Sps:Spis); {процедура оформления пустого списка}
Begin
for i:=1 to maxel-1 do
Sps[2,i]:=i+1;
Sps[2,maxel]:=0;
Assm:=1;
Afe:=0;
end;
Procedure Addsp(Var Sps:Spis); {процедура добавления элемента в список}
Var Asmn:integer;
Begin
Asmn:=Sps[2,Assm];
Sps[1,Assm]:=el;
Sps[2,Assm]:=Afe;
Afe:=Assm;
Assm:=Asmn
end;
Procedure DelSp(Pap,j:integer; Var Sps:Spis); {процедура удаления элемента из списка}
Begin
Sps[2,Pap]:=Sps[2,j];
Sps[2,j]:=Assm;
Assm:=j
end;
Procedure UstSp(j:integer; Var Sps:Spis); {процедура вставки элемента в список}
Var Asmn:integer;
Begin
Asmn:=Sps[2,Assm];
Sps[2,Assm]:=Sps[2,j];
Sps[2,j]:=Assm;
Sps[1,Assm]:=El;
Assm:=Asmn;
end;
Procedure PoshSp(Var Sps:Spis; el:integer; Var Pap,j:integer); {процедура поиска указателя (адреса) на элемент списка}
Begin
j:=Afe;
Pap:=0;
While (Sps[1,j]<>el) and (j<>0) do
Begin
Pap:=j;
j:=Sps[2,j];
end;
if j=0 then Writeln('Element ne naiden')
end;
BEGIN {osnovnaya proga}
Nspis(Sps); {построение пустого списка}
for i:=1 to 6 do
begin
write('el[',i,']=');
readln(el);
Addsp(Sps) {добавление элементов в список по одному}
end;
el:=9; {найденный указатель j, pap – предыдущий указатель}
PoshSp(Sps,el,pap,j); {поиск указателя на элемент со значением 9}
Delsp(pap,j,sps); {удаление элемента с указателем j}
el:=11;
PoshSp(Sps,el,pap,j);
el:=13;
Ustsp(j,Sps);
el:=3;
PoshSp(Sps,el,pap,j);
el:=15;
Ustsp(j,Sps);
END.
NastyaSmile вне форума
Старый 01.12.2011, 04:24   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Вот я это просто не понимаю. "Найдите ошибку" - все тут. Ты прогу запусти (ага, скопируй, скомпили..), все введи, что надо и - получи бонус!

Почему люди не понимают, что, экономя на нажимании клавиш, они сами себе зарубают шанс получить помощь?..

и теги, кстати, тоже.. в лом кнопочку нажать?
Предпочитаю на "ты".
TinMan вне форума
Старый 01.12.2011, 08:32   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Я НАШЁЛ ОШИБКУ!
и не одну!

1) тема должна отражать суть решаемой задачи/проблемы.

2) код должен оформлен специальными тегами. (исходный код программы нужно оформлять тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

3) отсутствует описание проблемы (что не работает, что не получается).

Очень рекомендую в следующий раз, перед созданием темы, почитать правила форума и раздела!

ТЕМА ЗАКРЫТА
Serge_Bliznykov вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найдите ошибку Славик__077 Общие вопросы C/C++ 10 31.01.2011 15:15
Найдите ошибку MaJlbBuHa Паскаль, Turbo Pascal, PascalABC.NET 2 20.10.2009 23:26
найдите ошибку Сова Паскаль, Turbo Pascal, PascalABC.NET 9 11.02.2009 18:46
Найдите ошибку! geniy JavaScript, Ajax 4 04.12.2007 16:22