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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 5.00
anast
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 4
#1

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

29.06.2011, 22:25. Просмотров 4582. Ответов 8
Метки нет (Все метки)

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

Однонаправленные списки - C++
Сформировать список из натуральных чисел. Найти порядковые номера максимальных элементов списка. #include<iostream.h> #include<conio.h>...

Однонаправленные списки - C++
Подпрограмма №1 - формировка элементов первого списка тип float количество 8, включение элементов после второго. Подпрограмма №2 -...

однонаправленные связные списки - C++
сформировать однонаправленный список содержащий последовательность символов s1 , s2 , . . . , sn ( n >= 2 и заранее неизвестно)....

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

Однонаправленные списки: найти номер позиции максимального значения списка - C++
Организовать ввод в однонаправленный список. Узел списка состоит из двух полей: целое число и указатель. Необходимо найти номер позиции...

Списки, как склеить списки между собой? - C++
Ребят, привет всем, есть код, в классе которого описаны несколько методов: добавление элемента в список, удаление и просмотр списка, дак...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nameless
Эксперт C++
334 / 298 / 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++
334 / 298 / 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++
334 / 298 / 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
1 / 1 / 0
Регистрация: 11.05.2011
Сообщений: 30
30.06.2011, 02:47 #8
ничего))
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();
Указатель на список. И номер элемента.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2011, 08:11
Привет! Вот еще темы с ответами:

Списки - C++
Работа со списками( объединение, удаление, вставка и.т.п). при запуске выдает ошибки. :-| устала уже с ней( С++, Builder 6 ...

Списки - C++
Помогите пожалуйста с задачей: В списке L найти такой элемент &quot;y&quot; (если существует), что &quot;y&quot; больше всех предыдущих и меньше всех...

Списки C++ - C++
Уважаемые! Препод задал написать линейный, линейный дважды связанный и линейный цикличный списки с любым количеством элементов для каждого....

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.06.2011, 08:11
Ответ Создать тему
Опции темы

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