Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
1

Сформировать однонаправленный список из вводимой строки

24.11.2016, 08:06. Показов 985. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем, поставлена задача:
Разработать программу для задачи - сформировать однонаправленный список из вводимой строки. В поле каждого элемента списка записать отдельный символ. Если первый символ - буква "А", то в конец списка добавить еще одну букву "А", иначе из списка исключить все буквы "А". Вывести полученный результат.

Я написал код для решения первой ее части, но он почему-то не работает. Последний символ не меняется на 'A':
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void nodeChar() {
    Node *pv = new Node;
    Node *b;
    pv = head;
    if (pv->item == 'a' || pv->item == 'A') {
        while (pv->next != NULL) {
            pv = pv->next;
            if (pv->next == NULL) {
                pv->item = 'A';
            }
        }
    }
}
Если кто подскажет, как исправить, то буду благодарен.

На всякий случай еще и код заполнения:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    for (int i = 0; i < size; i++)
        {
            Node *pv = new Node;
                if (head == NULL) {
                pv->next = NULL;
                head = pv;
                pred = pv; valcount++;
                }
                else {
                pv->next = head->next;
                pv->next = head;
                head = pv;
                valcount++;
                }
            cin >> pv->item;
            valcount++;
        }
    }
Добавлено через 37 минут
С первым условием я справился, а вот со вторым никак не получается
C++
1
2
3
4
5
6
7
8
if (pv->item != 'A') {
        while (pv->next != NULL) {
            if (pv->item == 'A') {
                delete pv;
            }
            pv = pv->next;
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2016, 08:06
Ответы с готовыми решениями:

Сформировать однонаправленный кольцевой список
Ребят, выручайте пожайлуста буду очень и очень признателен. Сформировать однонаправленный...

Сформировать новый линейный список однонаправленный список, содержащий только нечетные элементы
Даны 2 линейных однонаправленных списка с элементами целого типа. Количество элементов и их...

Сформировать однонаправленный список
Сформировать однонаправленный список . Вывести его на печать. Проверить, сколько есть в этом списе...

Сформировать однонаправленный список
Сформировать однонаправленный список S1 с целочисленными элементами, выбрать элементы, которые...

1
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
24.11.2016, 11:50 2
Цитата Сообщение от DenKG Посмотреть сообщение
if (pv->item == 'A') {
* * * * * * * * delete pv;
* * * * * * }
* * * * * * pv = pv->next;
Сначала надо записать значение pv во временную переменную, чтобы после удаления осталась информация куда дальше идти.
0
24.11.2016, 11:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2016, 11:50
Помогаю со студенческими работами здесь

Сформировать однонаправленный список без заглавного звена
Сформировать однонаправленный список без заглавного звена со следующим описанием: Type...

Сформировать однонаправленный список и добавить элемент перед элементом с заданным ключом
задача: Сформировать однонаправленный список. Добавить элемент перед элементом с заданным ключом;...

Сформировать однонаправленный кольцевой список и провести удвоение буквы "Т" в нем
Задание: Сформировать однонаправленный кольцевой список и провести удвоение буквы &quot;Т&quot; в нем - C++...

Сформировать однонаправленный кольцевой список и провести удвоение буквы "Т" в нем
Сформировать однонаправленный кольцевой список и провести удвоение буквы &quot;Т&quot; в нем (код выдает...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru