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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mcpetters
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 11
#1

Работа с односвязным списком - C++

27.11.2012, 00:24. Просмотров 585. Ответов 1
Метки нет (Все метки)

Дан односвязный список. Класс студент (фамилия группа). Сделать меню, т.е. удаление элемента из начала списка, добавление элемента в начало списка, просмотр результатов и написать функцию, которая удаляет четные записи. Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 00:24     Работа с односвязным списком
Посмотрите здесь:

Работа с односвязным списком - C++
Есть два вопроса 1)как найти сумму двух соседних элементов элемента x. 2)Как сделать чтоб функция RemovePositive удаляла все...

Работа с односвязным линейным списком - C++
Здравствуйте, нужна ваша помощь , нужно програмка для работы с односвязным линейным списком а именно создание,удаление и поиск по значению...

Работа с линейным односвязным (двухсвязным) списком - C++
Создать линейный односвязный (двухсвязный) список. Из списка удалить положительные элементы, превышающие заданную величину, а затем...

Работа с односвязным списком (удаление четных элементов) - C++
Дан класс (год выпуска, количество страниц). У меня уже есть добавление элемента в начало, просмотр результатов, меню. Надо написать...

Работа с односвязным списком, неправильно вызываются функции - C++
В int main() некорректно вызываются функции, в чем может быть дело?(программа на двух файлах) #include<cassert> ...

Работа с односвязным списком (минимизировать время выполнения программы) - C++
Нужна помощь в УСОВЕРШЕНСТВОВАНИИ именно данного списка. Проблема во времени работы,его нужно минимизировать. Приму любую помощь. Всем...

Реализация с односвязным списком - C++
Приветствую! Есть созданная программа: #include <iostream> #include <fstream> #include <clocale> #include <string.h> #include...

Задача с односвязным списком - C++
Ребята, нужна помощь, кто может составьте. Буду благодерен. У меня не получается, т.к руки кривые. Задача: Напишите программу,...

Полиморфизм в сочетании с односвязным списком - C++
Всем доброго времени суток!) В общем, появилась такая проблема: нужно реализовать полиморфизм, при этом используя односвязный список,...

Класс полином с односвязным списком - C++
Помогите,пожалуйста, Написал класс Полином с односвязным списком,нужно создать функции,первая,которая считает результат полинома в данной...

Ошибки связанные с односвязным списком - C++
Здравствуйте... Решила сама разобраться и написать программу, связанную с работой с односвязным списком. Для красоты решила оформить каждое...

Задача с односвязным и двухсвязным списком (сортировка). - C++
Условие: Структура содержит название издания, газета или журнал, цена экземпляра. Добавлять новые издания так, чтобы названия были...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Alexander
12 / 12 / 1
Регистрация: 05.11.2012
Сообщений: 49
27.11.2012, 15:06     Работа с односвязным списком #2
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
struct Student
{
    char * name;
    char * group;
    Student * next;
    Student(char * n, char * g)
    {
        name = new char[strlen(n)+1];
        group = new char[strlen(g)+1];
        strcpy(name,n);
        strcpy(group,g);
    }
    Student * operator=(const Student * s)
    {
        strcpy(this->name,s->name);
        strcpy(this->group,s->group);
    }
    ~Student()
    {
        delete name;
        delete group;
    }
};
class List
{
    int count;
    Student * head;
public:
    List()
    {
        count = 0;
        head = NULL;
    }
    void Add(char * name, char * group);//добавление элемента в начало списка
    void Print();//распечатка списка
    void DelC(int num);//удаление заданного элемента
    void Del();//удаление первого элемента списка
    void DelN();//удаление четных элементов списка
    
 
};
void List::Add(char * name, char * group)
{
    Student * st = new Student(name,group);
 
        st->next = head;
        head = st;
        count++;
}
void List::Print()
{
    Student * st = head;
    while(st!=0)
    {
        cout<<st->name<<"\t"<<st->group<<endl;
        st = st->next;
    }
}
void List::Del()
{
    Student * st = head;
    head = head->next;
    st->~Student();
    count--;
}
void List::DelC(int num)
{
    Student * st = head;
    Student * temp;
    Student * prev;
    int flag = 0;
    while(st!=0)
    {
        if(num == flag)
        {
            prev->next = st->next;
            st->~Student();
            count--;
        }
    
        prev = st;
        st = st->next;
        flag++;
    }
    
    }
void List::DelN()
    {
        Student * st = head;
        Student * prev = NULL;
        int fl = 0;
        while(st!=0)
        {
            if(fl%2 != 0&&fl != 0)
            {
                prev->next = st->next;
                st->~Student();
                count--;
            }
            prev = st;
            st = st->next;
            fl++;
        }
}
можно как-то так)
благодарен, если укажите на ошибки
Yandex
Объявления
27.11.2012, 15:06     Работа с односвязным списком
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru