![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
serega204 |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Реальное имя: serega Репутация: ![]() ![]() ![]() |
Помогите написать программу. Реализовать два однонаправленных линейных списка, элементы в которых символьного типа. Сформировать список из элементов, которые входят только в один из списков.
|
amega |
![]()
Сообщение
#2
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
что такое указатель и динамическая память вам знакома?
если да, то с чем имеено проблемы? |
serega204 |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Реальное имя: serega Репутация: ![]() ![]() ![]() |
мне это тяжело...очень...напишите прогу плиз....плиз
|
RathaR |
![]()
Сообщение
#4
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 346 Пол: Мужской Реальное имя: Иван Репутация: ![]() ![]() ![]() |
мне это тяжело...очень...напишите прогу плиз....плиз amega вообщето хотел узнать что именно ты знаеш в области програмирования, от чего мы можем отталкиваться помогая тебе, ибо если ты здаш програму написаную с использованием динамических структур например, а вы их еще не учили, то нетрудно догадаться что тебе скажет преподаватель... мы ведь не знаем что знаеш ты ![]() -------------------- Считающий себя единственым здравомыслящим человеком сумасшедший? Если да, возможно я псих...
Пусть умолкнет всякий критик! Я - системный аналитик! |
serega204 |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Реальное имя: serega Репутация: ![]() ![]() ![]() |
сейчас мы изучили линейные динамические структуры...уже была лабораторка, но в этом я почти не шарю...как раз я знаю...к этому относится списки, очереди и стеки...а сдавать надо уже в понедельник....поэтому порошу помощи....и буду бесценно благодарен ВАМ....преподавателю тоже много вопросов задавал....поэтому в проге самой я разберусь...СПАСИБО
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата .напишите прогу плиз....плиз Вроде бы задание - твое, а не наше, поэтому и "прогу" писать тебе...Начинай, если что не получится - поправим... А так, чтобы с нуля и ты мог скопировать и сдать - смысла не вижу... |
amega |
![]()
Сообщение
#7
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата 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 основные процедуры которые нужно написать ![]() Сообщение отредактировано: amega - |
serega204 |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Реальное имя: serega Репутация: ![]() ![]() ![]() |
большое спасибо....но мне там не нужно слияние мы не изучали ещё сортировки....там просто как-то без них нужно....буду очень благодарен если напишите
Добавлено через 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. и посмотрите пожалуйста что не так |
Lapp |
![]()
Сообщение
#9
|
|||
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
хехе, может ето обращение не ко мне а к serega204 а с чего ты решил, что оно к тебе, амега? ![]() ![]()
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
|||
serega204 |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Реальное имя: serega Репутация: ![]() ![]() ![]() |
посмотрите плиз...процедуру New_list и что там не так!!! СПАСИБО
Прикрепленные файлы ![]() |
serega204 |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Реальное имя: serega Репутация: ![]() ![]() ![]() |
[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;] |
amega |
![]()
Сообщение
#12
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата а с чего ты решил, что оно к тебе, амега? чет я ступил ![]() ![]() и так пишем процедуру добавления 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 - |
serega204 |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Реальное имя: serega Репутация: ![]() ![]() ![]() |
спасибо...большое....если что там не так будет я потом скину прогу (в задании про повторяющиеся элементы ничего не скказано)
Добавлено через 13 мин. там я много чего поправил, из-за того что я начал ваше сравнивать и своё набранное....там процедура удаления списка не работает и задание не выпоняется....посмотрите пожалуйста в чём я там не прав ![]() Добавлено через 36 сек. спасибо...большое....если что там не так будет я потом скину прогу (в задании про повторяющиеся элементы ничего не скказано) Добавлено через 13 мин. там я много чего поправил, из-за того что я начал ваше сравнивать и своё набранное....там процедура удаления списка не работает и задание не выпоняется....посмотрите пожалуйста в чём я там не прав ![]() 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.
|
serega204 |
![]()
Сообщение
#14
|
Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Реальное имя: serega Репутация: ![]() ![]() ![]() |
посмотрите пожалуйста верхнюю прогу и скажите что здесь не так....спасибо большое
|
![]() ![]() |
![]() |
Текстовая версия | 22.04.2025 0:49 |