![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 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. |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
![]()
Вот я это просто не понимаю. "Найдите ошибку" - все тут. Ты прогу запусти (ага, скопируй, скомпили..), все введи, что надо и - получи бонус!
Почему люди не понимают, что, экономя на нажимании клавиш, они сами себе зарубают шанс получить помощь?.. и теги, кстати, тоже.. в лом кнопочку нажать?
Предпочитаю на "ты".
|
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Я НАШЁЛ ОШИБКУ!
и не одну! 1) тема должна отражать суть решаемой задачи/проблемы. 2) код должен оформлен специальными тегами. (исходный код программы нужно оформлять тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) 3) отсутствует описание проблемы (что не работает, что не получается). Очень рекомендую в следующий раз, перед созданием темы, почитать правила форума и раздела! ТЕМА ЗАКРЫТА |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
найдите ошибку | Славик__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 |