Форум программистов, компьютерный форум CyberForum.ru

Не работает удаление в списке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить программу, которая запрашивает у пользователя количество дней в текущем месяце и сегодняшнее число http://www.cyberforum.ru/cpp-beginners/thread743842.html
Составить программу, которая запрашивает у пользователя количество дней в текущем месяце и сегодняшнее число. Программа выводит сообщение о том,сколько дней осталось до конца текущего месяца. Пример работы программы: Сколько дней в текущем месяце? 30 Какое сегодня число? 26 До конца текущего месяца осталось 4 дня Помогите написать!)
C++ Алгоритм Кнута, Морриса и Пратта Я написал программу поиска образа в строке по методу Кнута, Морриса и Пратта.. И программа должна ввети чувствительности / нечувствительности к регистру. помогите пожалуйста как это сделать?? #include <iostream> #include <string.h> #include <time.h> #include <stdlib.h> http://www.cyberforum.ru/cpp-beginners/thread743825.html
Вычислить суммы элементов массива до первого нуля (доработать) C++
1) В массиве i,j, =1,…,8 есть хотя бы один нуль. Вычислить суммы элементов массива до первого нуля. Исходные данные: 1,17,2,4,-5,0,7,8. Это задание, я в принципе разбираюсь в массивах (запись и суммирование, простейшие задачи), а вот что то не догоняю как можно сложить int числа массива до 1-го нуля , ещё передним стоит -5. Так что Разъесните пожалуйста, КТО - это уже прошол))). Спасибо ! ...
C++ алгоритм для проверки условия. Палиндромы
рассмотрим некоторое натуральное число. Если это не палиндром, то изменим порядок его цифр на обратный и сложим исходное число с получившимся. Если сумма не палиндром, то над ней повторяется то же действие и т.д., пока не получится палиндром. Даны натуральные числа k,m,l(k<1). Проверить, верно ли, что для любого натурального числа из диапазона от k до 1 процесс завершается не позднее, чем после m...
C++ Выбор среды программирования http://www.cyberforum.ru/cpp-beginners/thread743792.html
Доброго времени суток. Желаю учится С++,но нужно правильно выбрать среду.Есть два компа.Один на ХР х32 ,второй на Винде 7 х64.На экспишке стоит вот этот Microsoft Visual Studio 2008(первый в этом разделе http://www.cyberforum.ru/cpp-beginners/thread61467.html ) .Вопрос состоит в том,что поставить на комп с Семеркой?Меня смущает то,что там архитектура 64.Выбор стоит между 2008 и 2010 Вижуалом.Но...
C++ Удалите из слове все буквы, совпадающие с последней буквой. 3.удалите из слове все буквы, совпадающие с последней буквой. подробнее

Показать сообщение отдельно
Maratovich
13 / 17 / 1
Регистрация: 05.09.2012
Сообщений: 210

Не работает удаление в списке - C++

23.12.2012, 22:47. Просмотров 276. Ответов 3
Метки (Все метки)

Извините за очень заеженную тему, но не хватает ума понять как элементы удаляются из списка.
Вот код, тут все функции работают кроме удаления. Если не трудно можете объяснить как их удалять правильно
и сразу показать.
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
#include <iostream>
using namespace std;
 
struct List
{
    int value;
    List *next;
};
 
List *add(List *end)
{
    if(end == NULL)
    {
        end = new List;
    }
    else
    {
        end->next = new List;
        end = end->next;
 
    }
    cin>>end->value;
    end->next = NULL;
    return end;
}
 
List *find(List *beg, int value)
{
    List *index;
    while(beg != NULL)
    {
        if(beg->value == value)
        {
            index = beg;
            break;
        }
        else
        {
            index = NULL;
        }
        beg = beg->next;
    }
    return index;
}
 
 
bool del(List *beg, int value)
{
    List *new_beg;
    new_beg = find(beg,value);
    if(new_beg != NULL) 
    {
        new_beg = beg->next;
        delete beg;
        beg = new_beg;
        return true;        
    }
    return false;
}
 
void show(List *beg)
{
    while(beg != NULL)
    {
        cout<<beg->value<<endl;
        beg = beg->next;
    }
}
 
int main()
{   
    List *beg = NULL, *end = NULL;
    int element;
    if(beg == NULL) 
    {
        beg = add(end);
        end = beg;
    }
    else
    {
        end = add(end);
    }   
 
 
    show(beg);  
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru