Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/49: Рейтинг темы: голосов - 49, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 23.07.2010
Сообщений: 5

Сформировать третий список, включив в него по одному разу элементы из первого, не входящие во второй

23.07.2010, 10:58. Показов 9331. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Начал разбор темы ссылочных типов данных. Интересно, как всегда, но сразу столкнулся с задачей, которую не понял принципиально:

Цель работы - изучение ссылочных типов данных, работа со связными списками.

Замечание: Сформировать односвязный список и вывести на экран полученную инфу, согласно задаче.

Задача: даны 2 списка целых чисел. Сформировать 3й список, включив в него по одному разу эл-ты из первого списка, не входящие во 2й (без использ. массивов).

(Хотел формировать 1й и 2й списки с клавитуры, недопонял процесс формирования именно ДВУХ списков). Подскажите !?!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2010, 10:58
Ответы с готовыми решениями:

Сформировать список, включив в него по одному разу те элементы, входящие одновременно в оба других списка
Дано два односвязных списка L1,L2, элементы которых - действительные числа. Описать процедуру, которая формирует список L3, включая к нему...

Сформировать список L, включив в него по одному разу элементы, входящие одновременно в L1 и L2
Готовое решение. Буду рад, если будет полезно. #include <vector> //Векторы. #include <iostream> //Основная (Ввод -...

Сформировать список L включив в него по одному разу элементы, которые входят в один из списков L1 и L2, но в то же время не входит во второй из них
Добрый вечер! Помогите, пожалуйста, начинающей программистке решить следующую задачу: Разработать шаблон класса для работы с...

8
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
23.07.2010, 11:01
почитайте это
https://www.cyberforum.ru/pascal/thread77419.html
0
1 / 1 / 0
Регистрация: 23.07.2010
Сообщений: 5
23.07.2010, 11:18  [ТС]
Спасибо ... т.е. правильным, в данном случае, будет - procedure AddElem(var stek1 ... и ... var stek2, а потом сортировка, так или нет ??? я принципиально не понял пока ... 2 процедуры ?
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
23.07.2010, 22:39
Cover, Вы слабоваты ещё в теории программирования. Правильным будет создать два списка (у вас после создания двух списков будет 2 указателя на начало двух списков). После этого следует пробегать по этим спискам, так же как Вы пробегаете по массивам, просто переход по другому осуществляется, и смотреть есть ли "такой" (имеется ввиду элемент из второго списка) элемент в первом списке, если нету, то проверить не добавляли ли Вы уже такой элемент в список (3-ий список), если нет, то всё хорошо, добавляем элемент в список.
Что не ясно, спрашивайте.
0
1 / 1 / 0
Регистрация: 23.07.2010
Сообщений: 5
23.07.2010, 23:02  [ТС]
у нас - доброночь ... естессно, я и не скрываю, что слаб ... сейчас, делаю так: запрос на количество эл-в 1го и 2го списков, выделение памяти под 1й, 2й и 3й, в цикле - ввод значений, потом - сортировка ...
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
24.07.2010, 00:20
Cover, Вы тему смотрели, ссылку на которую Вам довал ув. Puporev ? Ведь там в примерах кристально ясно, что память выделяется, не спрашивая у пользователя сколько будет элементов, а во время выполнения программы выделяется память элемент за элементом. Почитайте хорошенько код, который представлен в теме + википедию + поиск по форуму по разделу паскаль на тему "списки" "однонаправленные списки" "динамическое программирование". После всего этого создайте для начала приложение, которое будет создавать хотя бы один список (но создавать его правильно, опять же в теме всё есть), потом добавьте создание второго списка и вывод двух списков (такая процедура/функция уже есть в теме), а только после этого пытайтесь слить их вместе. Важно Вам для понимания, что память под 3-ий список будет выделятся во время прохода по двум спискам, элемент за элементом.
У Вас всё получится !
0
1 / 1 / 0
Регистрация: 23.07.2010
Сообщений: 5
24.07.2010, 00:25  [ТС]
пасиб ... я сабсем начинающий ))) ... всё понял и всё получится !
0
Фрилансер
 Аватар для Mad_Dog
452 / 433 / 117
Регистрация: 01.06.2010
Сообщений: 1,314
24.07.2010, 19:26
Cover, вот тебе архив с исходниками, там почти твоя задача решена, за несколькими исключениями. Разберешься с кодом, сделаешь своё решение...
two4one.rar
0
1 / 1 / 0
Регистрация: 23.07.2010
Сообщений: 5
02.08.2010, 18:13  [ТС]
Pascal
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
program Lab_10; uses crt;
 
type
nodes=^node;
node=record
   data: integer;
   left, right: nodes;
end;
 
var
tree, left, right: nodes;
n, x, y, z, i:integer;
key: char;
 
procedure add (var tree: nodes; x: integer);
begin
   if tree=nil then
      begin
      new (tree);
      tree^.data :=x;
      tree^.left :=nil;
      tree^.right:=nil;
      exit;
      end;
   if x=y then add (tree^.left, y);
   if x=z then add (tree^.right,z);
end;
 
procedure lscan (tree: nodes);
   begin
   if tree=nil then exit
   else
   write(' ', tree^.data, ';');
   lscan (tree^.left);
   end;
 
procedure rscan (var tree: nodes);
   begin
   if tree=nil then exit
   else
   write(' ', tree^.data, ';');
   rscan (tree^.right);
   end;
 
begin tree:=nil;
   repeat; clrscr; textcolor(1); writeln;
      writeln('  1).Создание cписков. ');
      writeln('  2)....Обзор списков. ');
      writeln('  3)............Выход. '); writeln;
      write  ('  Выберите действие: '   );
      readln (key); clrscr;
      case key of
   '1' : begin
         writeln; writeln ('  Список 1. ');  writeln;
         write ('  Количество элементов: '); readln (n); writeln;
         for i:=1 to n do
            begin
            write ('  Введите элемент - ');
            readln (y); add (tree, y);
            end;
         writeln; writeln ('  Список 2. ');  writeln;
         write ('  Количество элементов: '); readln (n); writeln;
         for i:=1 to n do
            begin
            write ('  Введите элемент - ');
            readln(z); add (tree,z);
            end;
         end;
   '2' : begin
         writeln; write ('  Список 1: ');
         if tree<>nil then
         lscan (tree); writeln;
         writeln; write ('  Список 2: ');
         if tree<>nil then
         rscan (tree^.right); writeln;
         writeln; write ('  Жми " Enter " ... '); readln;
         end;
   '3' : exit;
      end;
   until (key<'1') and (key>'4');
end.
... такой ввод - вывод допустим ???
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.08.2010, 18:13
Помогаю со студенческими работами здесь

Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2.
Ребят я запутался окончательно.Пытался сам разобраться,но увы только все хуже стало. задание: Сформировать список L, включив в него по...

Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2. Ошибка
Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2. type Tlist=^Rlist; ...

Сформировать список l, включив в него по одному разу элементы, которые входят. В один из списков l1 или l2. Но не входят в другой
Добрый вечер! Собственно суть задачи такова: Я не совсем поняла списки, вы не могли бы помочь разобраться в программе? есть некие...

Сформировать. файл, включив в него по одному разу элементы, которые входят одновременно в оба файла
Помогите решить Текстовые файлы заранее спасибо.. Составить программу, которая формирует файл, включив в него по одному разу элементы,...

Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят в список L1 но не входят в список L2
Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят в список L1 но не входят в список...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru