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

Из каждой группы подряд идущих одинаковых слов в списке оставить только одно

26.06.2018, 12:39. Показов 2170. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу, которая формирует список с двумя связями, добавляет в него не менее 20 слов на русском языке. Из каждой группы подряд идущих одинаковых слов в списке оставить только одно.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.06.2018, 12:39
Ответы с готовыми решениями:

Из каждой группы подряд идущих одинаковых элементов оставить только один
Составить программу, которая в списке L из каждой группы подряд идущих одинаковых элементов оставляет только один. С объяснениями что как...

Из каждой группы подряд идущих элементов оставить только один
Дан список строк. Написать подпрограмму, которая из каждой группы подряд идущих элементов оставляет только один. заранее спасибо кто...

Из каждой группы подряд идущих элементов оставить только один
Дан список строк. Написать подпрограмму, которая из каждой группы подряд идущих элементов оставляет только один.

1
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
06.07.2018, 15:28
Взято отсюда:
Создать двухсвязной список

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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
type
  Tinf = string[128];{тип данных, который будет храниться в элементе списка}
  List = ^TList;{Указатель на элемент типа TList}
  TList = record {А это наименование нашего типа "запись" обычно динамические структуры описываются через запись}
    data: TInf;  {данные, хранимые в элементе}
    next,    {указатель на следующий элемент списка}
    prev: List;   {указатель на предыдущий элемент списка}
  end;
 
{Процедура добавления нового элемента в двунаправленный список}
procedure AddElem(var nach, ends: List; znach1: TInf);
var
  tmp: List;
begin
  if nach = nil then {не пуст ли список, если пуст, то}
  begin
    New(nach);
    {создаём элемент, указатель nach уже будет иметь адрес}
    nach^.next := nil; {никогда не забываем "занулять" указатели}
    nach^.prev := nil; {аналогично}
    ends := nach; {изменяем указатель конца списка}
  end
  else {если список не пуст}
  begin
    New(ends^.next); 
    {создаём новый элемент}
    ends^.next^.prev := ends; {связь нового элемента с последним элементом списка}
    ends := ends^.next;{конец списка изменился и мы указатель "переставляем"}
    ends^.next := nil; {не забываем "занулять" указатели}
  end;
  ends^.data := znach1; {заносим данные}
end;
 
{процедура печати списка
полностью расписана при работе со стеком}
procedure Print(spis1: List);
begin
  if spis1 = nil then
  begin
    writeln('Список пуст.');
    exit;
  end;
  while spis1 <> nil do
  begin
    Write(spis1^.data, ' ');
    spis1 := spis1^.next
  end;
end;
 
procedure FreeStek(spis1: List);
var
  tmp: List;
begin
  while spis1 <> nil do
  begin
    tmp := spis1;
    spis1 := spis1^.next;
    Dispose(tmp);
  end;
end;
 
var
  ad, ad1, tmp,
  SpisNach, {указатель на начало списка и}
  SpisEnd,   {указатель на конец списка. Эти два указателя }
  tmpl: List; {неотъемлимая часть в двунаправленном списке}
  n: integer;
  tmpinf: TInf;
  s: set of string;
 
begin
  s := [];
  SpisNach := nil;
  SpisEnd := nil;
  repeat
    Writeln('Введите количество элементов в списке: ');
    readln(n);
  until n > 0;
  randomize;
  while n > 0 do
  begin
    write('Введите ', n, '-й элемент списка: ');
    readln(TmpInf);
    AddEleM(SpisNach, SpisEnd, TmpInf);
    dec(n);
  end;
  Writeln('Список до изменений: ');
  Print(SpisNach);
  writeln;
  Writeln('Список после изменений: ');
  while SpisNach <> nil do
  begin
    include(s, SpisNach^.data);
    SpisNach := SpisNach^.next;
  end;
  SpisNach := nil;
  SpisEnd := nil;
  foreach var s1: string in s do
    AddEleM(SpisNach, SpisEnd, s1);
  Print(SpisNach);
  FreeStek(SpisNach);
end.
Добавлено через 4 минуты
Цитата Сообщение от DoomseeSA Посмотреть сообщение
каждой группы подряд идущих одинаковых слов
Надо было:
Из
Маша Маша Маша Паша Паша Маша Паша
получить
Маша Паша Маша Паша
??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.07.2018, 15:28
Помогаю со студенческими работами здесь

В предпоследнем слове из каждой группы идущих подряд символов оставить только один символ
дан текст состоящий из слов.слова разделены пробелом,в предпоследнем слове из каждой группы идущих подряд символов оставить только один...

Из каждой группы подряд идущих одинаковых слов составить только одно (с использованием указателей)
Имеется список слов. Из каждой группы подряд идущих одинаковых слов составить только одно. Нужно использовать указатели. Можете хотя бы ...

В динамическом списке из каждой группы подряд идущих одинаковых элементов оставить один
Условие задачи в заголовке темы. Пытался написать, но выводит в обратном порядке, ничего не удаляет, да еще и &quot;Н&quot; добавляет....

В списке L из каждой группы идущих подряд равных элементов оставить только один
опишите программу которая в списке L из каждой группы идущих подряд равных элементов оставляет только один

Из каждой группы подряд идущих слов оставить только одну
Пусть будет дан список слов. Из каждой группы подряд идущих слов оставить только одну.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru