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

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

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

> Помогите решить задачу на Паскале, однонаправленный список
24dima
сообщение 22.10.2010 13:12
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Дмитро

Репутация: -  0  +


Мне дали на лабораторной работе задачи по Паскалю, но я его не так хорошо знаю Паскаль чтобы решить эту задачу. Помогите мне пожалуйста сделать эту задачу:
Сформировать однонаправленный список из звеном-заголовком.
Вывести его на печать.
Проверить, входит ли в этот список буква буква "К", если не входит, то дописать ее в конец списка.


Сообщение отредактировано: 24dima - 22.10.2010 13:18
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
24dima
сообщение 27.10.2010 0:49
Сообщение #2





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Дмитро

Репутация: -  0  +


Добрый вечер! Программу я написал, только что одна проблема букву "К" вставляет не в конце а в начале. Помогите решить проблему.

program laba4;
type
zv=^pointer;
pointer=record
elem:char;
next:zv
end;

var
find:boolean;
vlan, vslov:zv;
sym:char;

procedure vstav (lanka:zv; buk:char);
var
q:zv;
begin
if (lanka<>nil) then
new(q);
q^.elem:=buk;
q^.next:=lanka^.next;
lanka^.next:=q;
end;

begin
find:=false;
new (vslov);
vslov^.next:=nil;
vlan:=vslov;
writeln ('Введить символ до крапки');
repeat
read (sym);
vstav(vlan,sym);
vlan:=vlan^.next;
until sym='.';
writeln ('Сформований рядок');
vlan:=vslov;
vlan:=vlan^.next;
while vlan^.next<>nil do
begin
write (vlan^.elem);
vlan:=vlan^.next;
end;

vlan:=vslov;
while vlan^.next=nil do
begin
if vlan^.elem='K' then
begin
find:=true;
break;
end;
vlan:=vlan^.next;
end;

if find=true then writeln('Element e')
else
begin
vstav(vlan,'K');
writeln('Element vstavleno');
vlan:=vslov;
vlan:=vlan^.next;
repeat
write(vlan^.elem);
vlan:=vlan^.next
until vlan=nil;
writeln;
end;
end.



Прикрепленные файлы
Прикрепленный файл  frd.pas ( 1.31 килобайт ) Кол-во скачиваний: 194
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



- Текстовая версия 25.06.2025 8:33
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"