Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147

Создать двусвязный список символов

06.05.2011, 22:53. Показов 4658. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
и удалить из него все буквы y

Помогите пожалуйста написать функцию формирования списка, и его считывания до ввода определенного символа. Пожалуйста.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2011, 22:53
Ответы с готовыми решениями:

Создать двусвязный список групп факультета, где каждая группа представляет собой односвязный список студентов
Задание: создайте двусвязный список групп факультета. Каждая группа представляет собой односвязный список студентов. Помогите пожалуйста,...

Создать двусвязный список
Не могу разобраться с двусвязным списком. Вот код списка: #pragma once #include "ClassPhoto.h" struct Node{ Photo...

Как создать двусвязный список?
Собственно... не шарю, как сделать двусвязный! односвязный вроде как получается. Двусвязный как-то и не очень :( Конструктор: list() {...

2
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
09.05.2011, 18:48  [ТС]
ну кто-нибудь...
0
 Аватар для olleg90
40 / 40 / 12
Регистрация: 06.01.2011
Сообщений: 90
09.05.2011, 19:16
Лучший ответ Сообщение было отмечено enotik как решение

Решение

щас напишу......

Добавлено через 10 минут
C++
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include <stdio.h>
#include <conio.h>
#include <locale.h>
 
struct node // Описание узла
{
  char g; // Информационное поле
  node *rlink, *llink; // Поля для связи с другими полями
};
 
/*_______Функция вывода списка слева напpаво_____*/
 
void llist(node *left)
{
  node *k = left;
  while (k != NULL)
  {
    printf("%c\n", k->g);
    k = k->rlink;
  }
}
 
/*_______Функция вывода списка спpава налево_____*/
 
void rlist(node *rigth)
{
  node *k = rigth;
  while (k != NULL)
  {
    printf("%c\n", k->g);
    k = k->llink;
  }
}
 
void main()
{
  node *k,*q, // Рабочие указатели
       *left, *rigth; // Левый и правый указатели
  char w; // Буферная переменная
    setlocale (LC_ALL,"");
  // Создание пеpвого узла
 
  printf("Bведите число");
  scanf("%c", &w);
  k = new node; // Выделение динамической памяти под узел
  k->g = w; // Заполнение полей узла
  k->rlink = NULL;
  k->llink = NULL;
  rigth = k;
  q = k; // Второй рабочий указатель хранит адрес предпоследнего узла
 
  /*______Построение остальных узлов_______*/
 
  printf("Bведите символ:");
  scanf("%c", &w); 
  while (!feof(stdin))
  {
    k = new node;
    k->g = w;
    k->rlink = q;
 
    // Связываем вновь созданный узел с предыдущим
 
    q->llink = k; // Связываем предыдущий узел с вновь созданным
    q = k;
    printf("Bведите символ:");
    scanf("%c", &w);
  }
 
  q->llink = NULL;
  left = q;
  puts("Слева напpаво ");
  llist(left);
  puts("Спpава налево");
  rlist(rigth);
 
 
  node *l; // Указатель на предыдущий узел
  l = k = left;
 
  while (k != NULL)
  {
    if (k->g == 'y')
    {
      if (k == left)
      { //Удаление самого левого
        q = k;
        left = k->rlink;
        left->llink = NULL;
        l = k = left;
        delete q;
      }
      else if (k == rigth)
      { // Удаление самого правого
        q = k;
        rigth = k->llink;
        rigth->rlink = NULL;
        k = NULL;
        delete q;
      }
      else
      { //Удаление из середины списка
        q = k;
        l->rlink = k->rlink;
        k->rlink->llink = l;
        delete q;
        k = l->rlink;
      }
    }
    else // Если не надо удалять, то вперед
    {
      l = k;
      k = k->rlink;
    }
  }
 
  puts("Вывод после удаления ");
  puts("Слева напpаво ");
  llist(left);
  puts("Спpава налево");
  rlist(rigth);
  getch();
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2011, 19:16
Помогаю со студенческими работами здесь

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

Как создать двусвязный линейный список?
Люди добрые, помогите с лабораторной работой! Нужно выполнить следующее: 3) Двусвязный линейный список. Дополнительные операции: a)...

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

Создать динамический односвязный или двусвязный список
Помогите, как создать динамический односвязный или двусвязный список(Описать структуру). Я не могу понять, чем он отличается от обычного...

Создать двусвязный список и найти в нем максимум
прошу напишите пожалуйста прогу, которая создаст двусвязный список и найдёт в нем максимум


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
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