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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2015, 18:05   #1
pmi
Новичок
Джуниор
 
Регистрация: 28.04.2015
Сообщений: 1
По умолчанию Списки(паскаль). Пишет ошибку в коде :(

Составить программу, которая на основе уже имеющегося списка создает новый, вставляя заданный элемент после каждого i -го элемента исходного списка.
Код:
program spisok;
type Ptr=^count;
count=Record
Key:integer;
Next:ptr;
Info:char; // Символьный тип
end;
var p,q,head,temp:ptr;
n:integer;
begin // Создание исходного списка
n:=4;
p:=nil; // nil - отсутствие адреса
while n>0 do
begin
new(q); // Создаем новый элемент списка
q^.next:=p;
p:=q;
q^.key:=n;
readln(q^.info);
n:=n-1;
end;
begin
writeln('Введите номер элемента, после которого вы хотите вставить данный элемент(номер от 1 до 4): ');
readln(n);
end;
head:=q;
// Добавим новый элемент в начало списка
begin
new(temp);
new(q);
writeln('Введите элемент для добавления');
readln(q^.info);
for n:=1 to 4 do
begin
q^.next^.Key:=n;
q^.next^.next:=nil;
q:=q^.next;
end
end;
while q<>nil do
begin
writeln(q^.info);
q:=q^.next;
end;
end.
pmi вне форума Ответить с цитированием
Старый 28.04.2015, 21:55   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,377
По умолчанию

В Вашей программе есть строка (выделено жирным):
Код:
new(q); // Создаем новый элемент списка
q^.next:=p;
p:=q; {зачем Вам эта строка? Где ещё использована переменная p?}
q^.key:=n;
readln(q^.info);
Поскольку в таком коде разбираться сложновато, то рекомендую учебник Т.А. Павловской, можно скачать, например, http://www.programmersforum.ru/showt...?t=8324&page=9
В этом учебнике есть все необходимые п/п для решения Вашей задачи.

Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, строки. Не могу найти ошибку в коде. Liam_ Помощь студентам 6 11.05.2011 19:29
Двусвязные списки, найти ошибку в коде Crudelis Общие вопросы C/C++ 5 15.07.2010 23:48
Турбо паскаль:программа находящая сумму ряда(необходимо найти ошибку в коде) Galchonok Помощь студентам 5 12.06.2010 15:10
Не срабатывает код, пишет ошибку T-dayne Общие вопросы Delphi 2 07.02.2010 12:28
Исправте ошибку в коде. Паскаль. Двумерные массивы. anna_ Помощь студентам 7 18.12.2009 14:09