powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Вопрос по Record в Pascal'е
7 сообщений из 7, страница 1 из 1
Вопрос по Record в Pascal'е
    #32369145
VMik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый... С наступающим Праздником.

Паскаль, конечно, это не совсем дельфи, но...
Возник вопрос: есть два списочка (10 и 100 записей в каждом)...
Необходимо создать третий, в который бы вошли все уникальные элементы из двух имеющихся...
Пример (данные сейчас вношу от балды....)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
uses
  SysUtils;
type tspis1=^spis1;
  spis1=record
  val1:string;
  r:tspis1;
  end;
 spis2 = record
 val2: string;
 end;
 spis3=record
 val3: string;
 end;

 var i:integer;
 mass1: array of spis1;
 mass2: array[ 1 .. 100 ] of spis2;
 mass3: array[ 1 .. 10 ] of spis3;
 P0: tspis1 = nil;
 PNew, POld: tspis1;
begin
for i:= 1  to  100 
do begin
mass2[i].val2:=('Value ' + IntToStr(i));
writeln(mass2[i].val2);
end;
for i:= 1  to  10 
do begin
mass3[i].val3:=('Value   ' + IntToStr(i));
writeln(mass3[i].val3);
end;
 
end
.

Как добавить данные в запись - это не есть проблема -

Код: plaintext
1.
2.
3.
4.
with PNew^ do begin
val1:=!!!..........!!!
r:=nil;
.........
 end;


Вот как мне выбрать эти уникальные - не знаю.... Подскажите, кто знает.....
---
С наилучшими,
Dr. l'Ego aka VMik
...
Рейтинг: 0 / 0
Вопрос по Record в Pascal'е
    #32369149
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что за уникальные такие записи ???
____
...
Рейтинг: 0 / 0
Вопрос по Record в Pascal'е
    #32369163
VMik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уникальные = не повторяющиеся....
В примере кода повторы есть - первые 10 записей (с пробелами там не все четко, но это не есть принципиально)....
---
С наилучшими,
Dr. l'Ego aka VMik
...
Рейтинг: 0 / 0
Вопрос по Record в Pascal'е
    #32369184
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проще все это отсортировать и идти с этим далше ,
а дальще прощщее ...
____
...
Рейтинг: 0 / 0
Вопрос по Record в Pascal'е
    #32369225
VMik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нда...
Сын директора банка лишит меня все-таки премии...
Но зато сессию без бабулек не сдаст!!!!!!
---
С наилучшими,
Dr. l'Ego aka VMik
...
Рейтинг: 0 / 0
Вопрос по Record в Pascal'е
    #32369299
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос. Как организовывать результирующий список? Стек, очередь?
Для стека:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
var p : tspisl
     First : tspisl;
добавление к стеку
new(p);
p^.r:=First;
p^.vall:=...;
First:=p;
удаление из стека
p:=First;
First:=p^.r;
dispose(p)
проверка на сущ-ние
function CheckIn(Value:...):boolean;
begin
  CheckIn:=False;
  p:=First;
  while (p <> nill) and (p^.vall <> Value) do p:=p^.r;
  CheckIn:=(p <> nill) and (p^.vall = Value);
end;
и затем в программе
for i:= 1  to  100  do if not CheckIn(mass2[i].val2) then AddInSpisok;

Для очереди почти то же, но добавлять нужно в хвост, а вот с двунаправленным списком ...
С уважением, Denis Uskov
...
Рейтинг: 0 / 0
Вопрос по Record в Pascal'е
    #32369408
VMik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Denis Uskov

Спасибо огромное!!! Очень помог(ли)...
Я, в принципе, дошел до подобного решения, однако оно не настолько.... ээээ.... стройное. В два раза больше кода....

Спасибо!!!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Вопрос по Record в Pascal'е
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]