roches
Сообщение
#8528 12.12.2007, 18:07
Помогите с задачкой, вообщем тема Однонаправленные списки, динамические данные.
вот такое вот задание: Слово, заканчивающееся точкой, вывести в обратном порядке (используя рекурсию).
есть указания, что для организации однонаправленного списка использовать типы ввида:
Type Ukaz=^Zveno;
Zveno=Record
Next:Ukaz;
Info:char;
end;
Помогите пожалйста, с чего начать хотя бы, да и нейпойму куда здесь рекурсию прекрутить то(
creer
Сообщение
#8543 13.12.2007, 8:58
Можно посмотреть, например,
здесь.
roches
Сообщение
#8656 15.12.2007, 21:28
Цитата(creer @ 13.12.2007, 8:58)

Можно посмотреть, например,
здесь.
Да это я читал, а толку( я ни как не пойму смысл, в чем заключается этих динамических ссылок,
сначала надо в список вводимы данные упорядочить а только потом обрабатывать? пример бы какой простой с организацией в список и обработкой(
Julia
Сообщение
#8680 16.12.2007, 12:18
Просто интересно, какую оценку вы получили на вступительном экзамене по русскому языку?
Пример создания линейного однонаправленного списка без заглавного элемента в прямом порядке следования:
type Ss=^elem;
elem=record
inf:byte;
next:ss
end;
var p,q,l:ss;
{i,E,E1,N:byte;}
begin
write('Vvedi kolichestvo elementov ');
readln(N);
write('Vvedi elementi spiska ');
new(p); {выделяем ячейку памяти для нового элемента и устанавливаем на нее указатель p}
read(p^.inf); {считываем с клавиатуры значение для этого элемента и заносим его в информационную часть}
l:=p; {устанавливаем ссылку l на ту же ячейку памяти, что и p }
for i:=1 to n-1 do {добавление в список оставшихся элементов}
begin
new(q);
read(q^.inf);
l^.next:=q; {связываем последний элемент списка с созданным элементом}
l:=q {переустанавливаем ссылку l на ячейку q}
end;
l^.next:=nil; {ссылочной части последнего элемента присваиваем пустую ссылку nil}
...
Здесь каждый элемент списка содержит информационную часть - число типа byte и ссылочную - ссылку на следующий элемент. Список определяется ссылкой на первый элемент p. Эту ссылку не стоит ни двигать, ни уничтожать, иначе вы потеряете доступ к списку.
Список - структура данных последовательного доступа, т.е. чтобы обратиться к какому-либо элементу списка, отличному от первого, мы должны последовательно пройти по ссылкам всех предыдущих элементов.
Пример: Вставить в список после указанного элемента заданное число.
type Ss=^elem;
elem=record
inf:byte;
next:ss
end;
var p,q,l:ss;
i,E,E1,N:byte;
begin
write('Vvedi kolichestvo elementov ');
readln(N);
write('Vvedi elementi spiska ');
new(p);
read(p^.inf);
l:=p;
for i:=1 to n-1 do
begin
new(q);
read(q^.inf);
l^.next:=q;
l:=q
end;
l^.next:=nil;
write('Vvedi element iz spiska i celoe chislo ');
readln(E,E1);
q:=p;
for i:=1 to N do
if q^.inf=E then
begin
new(l);
l^.inf:=E1;
l^.next:=q^.next;
q^.next:=l;
q:=l^.next
end
else q:=q^.next;
q:=p;
writeln('Poluchennii spisok:');
while q<>nil do
begin
write(q^.inf,' ');
q:=q^.next
end
end.
roches
Сообщение
#8710 16.12.2007, 15:32
[quote name='Julia' date='16.12.2007, 12:18' post='8680']
Просто интересно, какую оценку вы получили на вступительном экзамене по русскому языку?
[quote]
пасипа за кот) осень благотарен. цьмоки
Неругайсо насяльника ма, рафшана плохо говарить по русски.
Руководитель проекта
Сообщение
#8711 16.12.2007, 16:11
За такое отношение к русскому языку даже в математическом форуме можно получить «бан».
roches
Сообщение
#8716 16.12.2007, 16:56
Цитата(Руководитель проекта @ 16.12.2007, 16:11)

За такое отношение к русскому языку даже в математическом форуме можно получить «бан».
нуну, тогда если за ошибки всех банить, то начнитес с себя,
пишется не "...даже в математическом форуме..." а правельнее будет
"...даже НА математическом форуме..."
Руководитель проекта
Сообщение
#8737 17.12.2007, 6:53
Цитата(roches @ 16.12.2007, 19:56)

Ну-ну, тогда если за ошибки всех банить, то начнитес с себя.
Пишется не "...даже в математическом форуме...", а правильнее будет —
"...даже НА математическом форуме..."
Еще нужны комментарии?
Julia
Сообщение
#8739 17.12.2007, 7:44
Все. Хватит. Идите в другую тему.
Руководитель проекта
Сообщение
#8791 17.12.2007, 17:12
Цитата(Julia @ 17.12.2007, 10:44)

Все. Хватит. Идите в другую тему.
Согласен. А эту тему закроем.