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

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

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

 
 Ответить  Открыть новую тему 
> помоги пожалуста со списками, очень надо
сообщение
Сообщение #1


Новичок
*

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

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


Помогите написать программу. Реализовать два однонаправленных линейных списка, элементы в которых символьного типа. Сформировать список из элементов, которые входят только в один из списков.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


?
***

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

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


что такое указатель и динамическая память вам знакома?
если да, то с чем имеено проблемы?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


мне это тяжело...очень...напишите прогу плиз....плиз
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Знаток
****

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

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


Цитата(serega204 @ 8.10.2009 21:42) *

мне это тяжело...очень...напишите прогу плиз....плиз

amega вообщето хотел узнать что именно ты знаеш в области програмирования, от чего мы можем отталкиваться помогая тебе, ибо если ты здаш програму написаную с использованием динамических структур например, а вы их еще не учили, то нетрудно догадаться что тебе скажет преподаватель... мы ведь не знаем что знаеш ты smile.gif


--------------------
Считающий себя единственым здравомыслящим человеком сумасшедший? Если да, возможно я псих...
Пусть умолкнет всякий критик!
Я - системный аналитик!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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


сейчас мы изучили линейные динамические структуры...уже была лабораторка, но в этом я почти не шарю...как раз я знаю...к этому относится списки, очереди и стеки...а сдавать надо уже в понедельник....поэтому порошу помощи....и буду бесценно благодарен ВАМ....преподавателю тоже много вопросов задавал....поэтому в проге самой я разберусь...СПАСИБО
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата
.напишите прогу плиз....плиз
Вроде бы задание - твое, а не наше, поэтому и "прогу" писать тебе...Начинай, если что не получится - поправим... А так, чтобы с нуля и ты мог скопировать и сдать - смысла не вижу...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


?
***

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

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


Цитата
amega вообщето хотел узнать что именно ты знаеш в области програмирования, от чего мы можем отталкиваться помогая тебе, ибо если ты здаш програму написаную с использованием динамических структур например, а вы их еще не учили, то нетрудно догадаться что тебе скажет преподаватель... мы ведь не знаем что знаеш ты


хехе, может ето обращение не ко мне а к serega204

я так понял список еще должен быть отсортирован?

нут вот тебе начало( маленький толчок)

type

TPRec=^Trec;
TRec=record
ch:char;
next:TPRec;
end;

var
start1 : TPRec;
start2 : TPRec;
start3 : TPRec;


procedure addtolist(var start:TPRec, newel:TPRec);
begin
{процедру реализует добавление елемента.
Получает старт по вару, поскольку новый елемент может стать в начало списка,
и указатель на новый елемент}
end;

procedure newlist(st1:TPRec; st2:TPRec; var st3:TPRec );
begin
{слияние свух списков в 1 по заданому критерию}
end;


ну вот, 2 основные процедуры которые нужно написать smile.gif

Сообщение отредактировано: amega -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

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

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


большое спасибо....но мне там не нужно слияние мы не изучали ещё сортировки....там просто как-то без них нужно....буду очень благодарен если напишите

Добавлено через 7 мин.
я вам добавлю...прогу, а вы посмотрите пожалуйста, что не так....я всё сам писать стараюсь, только мало чего из этого получается


Program Lr1_2; Uses CRT;
Type
Point = ^item;
item = Record
Spisok_1 : Char;
Spisok_2 : Char;
next : Point;
End;
Var r : Point; n : char;
Procedure Form (First:point);
Var p : char;
Begin
First := nil;
While n <> ' ' do Begin
New®;
r^.Next := First;
r^.Spisok_1 := n;
First := r;
exit;
end;
p := n;
end ;
Procedure Print (first:point);
Begin
r := first;
While r<> nil do begin
Writeln ('slovo = ', r^.Spisok_1);
r := r^.next;
end;
end;
Procedure Search (first : point; x : char; var q : point);
var ok : boolean;
begin
r := first;
ok := true;
While (r <> nil) and ok do
if r^.Spisok_1 = x then ok := false
else r := r^.Next;
q := r;
end;
BEGIN clrscr;
Assign (Output, ''); Rewrite (Output);
Writeln ('First Spisok');
Readln;
Form ®;
Writeln ('Second Spisok');
Readln;
Print ®;
Writeln ('Eltmenti, kotorie vhodiat v odin iz spiskov');
{Form ®; }
{ Print ®;}
Search (r, n, r);
{Dispose®; } Close(Output);
END.

и посмотрите пожалуйста что не так
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(amega @ 9.10.2009 9:43) *
хехе, может ето обращение не ко мне а к serega204
а с чего ты решил, что оно к тебе, амега? blink.gif smile.gif


М
serega204, используй тэги!! Правила раздела, п.2, и Правила Форума, п.5
Нечитаемая же программа.. Как, ты думаешь, тебе будут помогать?..





--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

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

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


посмотрите плиз...процедуру New_list и что там не так!!! СПАСИБО


Прикрепленные файлы
Прикрепленный файл  1_1.TXT ( 1.19 килобайт ) Кол-во скачиваний: 237
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

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

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



[Procedure New_list (L1, L2 : Tptr);]
[Var pl_1, pl_2 : tptr;]
[Begin]
[pl_1 := L1; pl_2 := L2;]
[While (pl_1 <> nil) and (pl_2 <> nil) do]
[Begin]
[ If L1^.inf = pl_2^.inf then]
[ Begin]
[ pl_1 := L1;]
[ While (pl_1 <> nil) and (pl_2 <> nil) and (pl_1^.inf = pl_2^.inf) do]
[ Begin]
[ pl_1 := pl_1^.next;]
[ pl_2 := pl_2^.next;]
[ End;]
[ End]
[ else pl_2 := pl_2^.next;]
[End;]
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


?
***

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

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


Цитата
а с чего ты решил, что оно к тебе, амега?

чет я ступил blink.gif blink.gif

и так пишем процедуру добавления

procedure addtolist(var start:TPRec, newel:TPRec);
var
wp,pp:TPRec;
begin
pp:=nil;
wp:=start;
{ищем место вставки нашего елемента}
while (wp<>nil) and (newel^.ch > Wp^.ch) do
begin
pp:=wp;
wp:=wp^.next;
end;
{проверям указатель пп(пред поинт), если он = нил то єто значит что у нас нет элементов в списке,
либо вставляемый элемент меньше первого}
if pp=nil then
begin
newel^.next:=start;
start:=newel;
end
else
begin
newel^.next:=pp^.next;
pp^.next:=newel;
end;
end;




как видим нет никаких процедур сортировки!

да в списке могут бить повторяющие елементы?

Сообщение отредактировано: amega -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

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

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


спасибо...большое....если что там не так будет я потом скину прогу (в задании про повторяющиеся элементы ничего не скказано)

Добавлено через 13 мин.
там я много чего поправил, из-за того что я начал ваше сравнивать и своё набранное....там процедура удаления списка не работает и задание не выпоняется....посмотрите пожалуйста в чём я там не прав

Прикрепленный файл  3_1.TXT ( 1.24 килобайт ) Кол-во скачиваний: 452




Добавлено через 36 сек.
Цитата(serega204 @ 9.10.2009 23:00) *

спасибо...большое....если что там не так будет я потом скину прогу (в задании про повторяющиеся элементы ничего не скказано)

Добавлено через 13 мин.
там я много чего поправил, из-за того что я начал ваше сравнивать и своё набранное....там процедура удаления списка не работает и задание не выпоняется....посмотрите пожалуйста в чём я там не прав

Прикрепленный файл  3_1.TXT ( 1.24 килобайт ) Кол-во скачиваний: 452


Program spiski; Uses Crt;
Type
Tinf = Char;
Tptr = ^Tlist;
Tlist = record
inf : Tinf;
next : Tptr;
end;
Var A, B : Tptr;
n : char;

Procedure Create_list (Var L : Tptr);
Var q, p : Tptr; e : Tinf;
Begin L := nil;
while not eoln do Begin
New(p);
Read(e);
p^.inf := e;
p^.next := nil;
if L = nil then L := p;
q := p;
end;
Readln
end;

Procedure New_list (Var L1, L2 : Tptr);
Var pl_1, pl_2 : Tptr;
Begin
pl_1 := nil; pl_2 := L1;
While (pl_1 <> nil) and (L2^.inf > pl_1^.inf) do
pl_1 := pl_2;
pl_2 := pl_2^.next;
If (pl_1 = nil) then Begin
L2^.next := L1;
L1 := L2;
end
else Begin
L2^.next := pl_1^.next;
pl_1^.next := L2;
Writeln (pl_1^.inf);
end;
end;

Procedure Delete_list (Var h : Tptr);
Var p : Tptr;
Begin
While h <> nil do
Begin
p := h;
h := h^.next;
Dispose (p);
end;
end;

BEGIN Clrscr;
Writeln ('Enter spisok A');
Create_list(A);
Writeln ('Enter spisok B');
Create_list(B);
Writeln ('Okonchatelniy spisok C');
New_List(A, B);
Delete_list (A); Delete_list(B);
readln;
END.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Новичок
*

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

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


посмотрите пожалуйста верхнюю прогу и скажите что здесь не так....спасибо большое
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 11.01.2025 4:16
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name