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

однонаправленные списки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 5.00
anast
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 4
29.06.2011, 22:25     однонаправленные списки #1
Пожалуйста помогите мне!!!
Записи в линейном списке содержат ключевое поле типа double. Сформировать однонаправленный список. Удалить из него элемент с заданным номером, добавить элемент с заданным номером.
1. Написать функцию для создания списка. Функция может создавать пустой список, а затем добавлять в него элементы.
2. Написать функцию для печати списка. Функция должна предусматривать вывод сообщения, если список пустой.
3. Написать функции для удаления и добавления элементов списка в соответствии со своим вариантом.
Пожалуйста!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2011, 22:25     однонаправленные списки
Посмотрите здесь:

C++ Однонаправленные списки
C++ Еще раз однонаправленные списки
C++ Списки
Динамические структуры данных-Однонаправленные списки C++
C++ Однонаправленные списки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
29.06.2011, 22:50     однонаправленные списки #2
anast, Воспользуйтесь поиском, на форуме подобных тем создавалось тьма тьмущая.
anast
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 4
29.06.2011, 22:52  [ТС]     однонаправленные списки #3
люди помогите!!!

Добавлено через 1 минуту
послезавтра сдать нужно!!!
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
29.06.2011, 22:54     однонаправленные списки #4
anast,

Раз..
Два..

Не по теме:

Цитата Сообщение от anast Посмотреть сообщение
послезавтра сдать нужно!!!
От того, что нужно сдать послезавтра, желания писать не прибавляется.. А тем более то, что уже написано по много раз.

anast
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 4
29.06.2011, 23:07  [ТС]     однонаправленные списки #5
спасибо конечно, но в первом на англ. программа, а во втором ну не то(((

Добавлено через 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
using namespace std;
 
struct point 
{
    int data;
    point* next;
};
 
point* make_list(int n)
{
    point*beg;
    point*p,*r;
    beg = new(point);
    cout<<"\n?";
    cin>>beg->data;
    beg->next=0;
    p=beg;
    for (int i=0; i < n-1; i++)
    {
        r=new(point);
        cout<<"\n?";
        cin>>r->data;
        r->next=0;
        p->next=r;
        p=r;
    }
    return beg;
void print_list(point* beg)
{
    point* p=beg;
    while (p!=0)
    {
        cout<<p->data<<"\t";
        p=p->next;
    }
}
}
point* add_point (point* beg, int m)
{
    point*p=beg;
    point*New=new(point);
    cout<<"key?";cin>>New->data;
    if (m==0)
    {
        New->next=beg;
        beg=New;
        return beg;
    }
    for (int i=0; i<m-1 && p!=0; i++)
    {
        New->next=p->next;
        p->next=New;
    }
    return beg;
}
 
point* del_point (point*beg, int m)
{
    point*p=beg;
    if (m==0)
    {
        beg=beg->next;
        delete p;
        return beg;
    }
    for (int i=1; i<m && p->next!=0; i++)
        p=p->next;
    if (p->next==0) return beg;
    point* r=p->next;
    p->next=r->next;
    delete r;
    return beg;
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int a,m,n;
    point*beg;
    point*p,*r;
    cout<<" Лабораторная работа"<<endl;
    cout<<"1 Добавить новый элемент\n2 Добавить новый элемент\n3 Удалить элемент\n4 Вывести список на экран\n0 Выход\n";
    cin>>a;
        switch(a)
        {
        case 1:
            make_list();
            break;
        case 2:         
            cout<<"Введите номер: ";
            cin>>m;
            add_point();
            break;
        case 3:         
            cout<<"Введите номер: ";
            cin>>m;
            del_point();
            break;
        case 4:
            print_list();
            break;
        case 0:
            return 0;
            break;
        }
        return 0;
}
помогите в главной функции что нудно дописать, где объявлены функции?

 Комментарий модератора 
Используйте теги форматирования кода!
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
29.06.2011, 23:14     однонаправленные списки #6
anast, что значит?

Цитата Сообщение от anast Посмотреть сообщение
что нудно дописать, где объявлены функции?
Не совсем понимаю Вас..
anast
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 4
29.06.2011, 23:28  [ТС]     однонаправленные списки #7
там, где в case 1,2,3,4 объявлены функции по добавлению, удалению элемента и т.д. я не знаю что написать в скобках, например
make_list();
add_point();
del_point();
print_list();
nameless, можете проверить и дописать программу?
POMIDORKA
 Аватар для POMIDORKA
1 / 1 / 0
Регистрация: 11.05.2011
Сообщений: 30
30.06.2011, 02:47     однонаправленные списки #8
ничего))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2011, 08:11     однонаправленные списки
Еще ссылки по теме:

C++ однонаправленные связные списки
Списки, как склеить списки между собой? C++

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

Или воспользуйтесь поиском по форуму:
An1ka
65 / 70 / 2
Регистрация: 30.06.2011
Сообщений: 176
30.06.2011, 08:11     однонаправленные списки #9
Цитата Сообщение от anast Посмотреть сообщение
там, где в case 1,2,3,4 объявлены функции по добавлению, удалению элемента и т.д. я не знаю что написать в скобках, например
make_list();
add_point();
del_point();
print_list();
Указатель на список. И номер элемента.
Yandex
Объявления
30.06.2011, 08:11     однонаправленные списки
Ответ Создать тему
Опции темы

Текущее время: 20:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru