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

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

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

> Линейные Списки., Скопировать в один список элементы двух списков.
lopata
сообщение 16.12.2009 22:51
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 99
Пол: Женский
Реальное имя: vera

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


Только не позорьте. ;)
Вообще как бы программа преобразовывает строки в списки . То есть "Дом" становиться списком "Д" "О" "М".
Вот у меня функция для преобразования строки в список:

program CharList;
uses
crt;
type
NodePtr = ^Node;
Node = record
next: NodePtr;
ch: char;
end;
CharListPtr = NodePtr;

function CharListOf(s: string): CharListPtr;
var
List: CharListPtr;
prevNode, newNode: NodePtr;
i: integer;
begin
List := nil;
for i := 1 to length(s) do
begin
if (i = 1) then
begin
new(List);
List^.next := nil;
List^.ch := s[i];
prevNode := List;
end
else
begin
New(newNode);
newNode^.ch := s[i];
newNode^.next := nil;
prevNode^.next:= newNode;
prevNode := newNode;
end;
end;
prevNode := nil;
CharListOf := List;
end;

begin
charlistof('hello world!');
end.


Нужно написать функцию
FUNCTION CLConcat(cl1, cl2: CharListPtr): CharListPtr; (*returns concatenation of cl1 and cl2 by copying both lists*)

вот у меня получилось, но пока только для копирования одного списка:


FUNCTION CLConcat(cl1: CharListPtr): CharListPtr;
var cl3 ,PrevNode, NewNode, current:CharListPtr;
begin
New(cl3);
cl3^.ch := cl1^.ch;
cl3^.next := nil;
prevNode := cl3;
current := cl1;
while current <> nil do
begin
current := current^.next;
new(NewNode);
newNode^.ch := current^.ch;
prevNode^.next:= newNode;
prevNode := newNode;
end;
CLConcat := cl3;
end;



Подскажите что не правильно? не могу проверить правильно или нет, так как не понимаю как мне вызывать эту функцию.
Очень нуждаюсь в помощи.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 17.12.2009 0:18
Сообщение #2


Гость






Это не ей... Это результат, который она вернет. А вернуть она должна начало первого списка...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
lopata   Линейные Списки.   16.12.2009 22:51
volvo   А где у тебя в задании что-то сказано о копировани...   16.12.2009 23:44
lopata   все. поняла. спасибо. можешь пожалуйста посмотреть...   17.12.2009 0:07
volvo   Ну, посмотрел... И что? Я бы сделал по-другому: ...   17.12.2009 0:16
lopata   у меня возник вопрос : почему в самом начале функц...   17.12.2009 0:17
volvo   Это не ей... Это результат, который она вернет. А ...   17.12.2009 0:18
lopata   Блин.. А если я захочу скажем удалить из первого с...   17.12.2009 2:10
volvo   Тогда тебе нужно именно копирование списка... Тем ...   17.12.2009 2:42
lopata   У меня само задание это побороть ограниче типа стр...   17.12.2009 2:53
volvo   Ты об этом говоришь ТЕПЕРЬ? Ну, извини, меня задан...   17.12.2009 3:04
lopata   Ну Извини. Меня интересовало как склеить списки.   17.12.2009 3:08
lopata   Вот такая вот у меня получилась функция для склеив...   17.12.2009 23:20
lopata   :yahoo!: ponyala i rayobralas' so spiskami...   18.12.2009 11:03
Lapp   :yahoo!: ponyala i rayobralas' so spiskami...   18.12.2009 12:16
lopata   cto znachit oastal'nye ne prichem? spasibo kon...   18.12.2009 12:31
Lapp   No on predpochel udalit'sya. i vryatli emu tep...   18.12.2009 12:46
lopata   ya ne o tom. mne nikto nichego ne obyazan. i pomog...   18.12.2009 12:53
Lapp   on yasno dal ponyat' " otvali" i poe...   18.12.2009 13:05
Гость   я ему уже сказала спасибо. а с тобой строить диало...   18.12.2009 19:56
Гость   P.S. "Сережа молодец"   18.12.2009 19:59
Lapp   P.S. "Сережа молодец"Что это означает? ...   19.12.2009 3:27
lopata   Я к тому что : Сережа молодец - (потому что)Сережа...   19.12.2009 3:59
Lapp   Я к тому что : Сережа молодец - (потому что)Сережа...   19.12.2009 7:50


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

 



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