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

Двусвязные структуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как выделить память под динамический двумерный массив http://www.cyberforum.ru/cpp-beginners/thread1157351.html
Добрый день, достаточно простой вопрос, но почему-то он возник, и нагуглить ответ я не смог. Обычно выделял память под двумерный массив следующей командой float **mas = new float *; Однако, как я...
C++ Подсчитать сумму элементов в тех строках матрицы, где нет отрицательных элементов Здравствуйте. я совсем не разбираюсь в программировании, но нужно сдать лабу, не могли бы вы мне помочь. я попыталась написать программу но она не работает. мне нужно подсчитать сумму элементов в тех... http://www.cyberforum.ru/cpp-beginners/thread1157340.html
Ошибка в преобразовании строки в double C++
Почему вот тут все правильно, то есть 5.5 остается 5.5: #include <iostream> void main( int ArgC, char *ArgV ) { char *str = new char; gets(str); _CRT_DOUBLE crt; _atodbl(&crt,str);...
Найти максимальные элементы каждой строки матрицы и просуммировать их C++
Помогите, надо найти сумму, всё остальное вроде получилось: #include <iostream> #include <time.h> using namespace std; int main() { setlocale(0, "rus"); srand(time(0)); int matrix; int...
C++ Разбиение строки на слова http://www.cyberforum.ru/cpp-beginners/thread1157297.html
#include <iostream> #include <string> using namespace std; int main() { string str, s1, s2; int i; cout<<"Enter please string!"<<endl;
C++ Треугольник наибольшего периметра Друзья, никак не могу осилить задачку, заранее благодарю!) Найти три различные точки из заданного множества точек, образующих треугольник наибольшего периметра. (Множество точек задано в... подробнее

Показать сообщение отдельно
auditseo
55 / 55 / 0
Регистрация: 10.03.2014
Сообщений: 73

Двусвязные структуры - C++

25.04.2014, 18:28. Просмотров 232. Ответов 3
Метки (Все метки)

Помогите разобарться:

1)Компилятор выдает ошибку в строке
C++
1
(*first)->pred = tmp;
, но не понимаю, почему...
2)И правильное ли я написал добавление элемента в двусвязный список? Легко ли будет при такой реализации сортировать и т.д.
3)И не могли бы немного пояснить как происходит передача указателей например тут
C++
1
(*first)->pred = tmp;
и в чем отличие от передаче по ссылке и зачем
C++
1
**first
указатель на указатель?


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
#include <iostream>
#include <cstring>
#include <ctime>
#include <dos.h>
#include <cstdio>
using namespace std;
struct Film{
    char name[20];
    char director[20];
    char mainActor[20];
    char country[3];
    short int yearOut;
    unsigned int budget;
    unsigned int cashDues;
    float rating;
    Film *next, *pred;
};
 
void inputFilm(Film **first)
{
    Film *tmp = new Film;
    cout << "Vvedi nazvanie filma:\n";
    cin >> tmp->name;
    cout << "Vvedi nazvanie rezhissera:\n";
    cin >> tmp->director;
    cout << "Vvedi glavnogo aktera:\n";
    cin >> tmp->mainActor;
    cout << "Vvedi stranu vypuska filma:\n";
    cin >> tmp->country;
    cout << "Vvedi god vypuska:\n";
    cin >> tmp->yearOut;
    cout << "Vvedi bydget:\n";
    cin >> tmp->budget;
    cout << "Vvedi kassovye sbory:\n";
    cin >> tmp->cashDues;
    cout << "Vvedi reyting filma:\n";
    cin >> tmp->rating;
    (*first)->pred = tmp;
    tmp->next = *first;
    tmp->pred = 0;    
    *first = tmp;
}
 
void main()
{
    Film *first = NULL;
    char menuItem;
    do{
        cout<<"Vyberite odin iz punktov menu:\n";
        cout<<"0. Vyhod.\n";
        cout<<"\nRabota so spiskom:\n";
        cout<<"1. Dobavit' nivyy element v spisok.\n";
        cout<<"2. Prosmotr vsego spiska.\n";
        cout<<"3. Udalenie elementa iz spiska po parametry.\n";
        cout<<"4. Udalenie spiska.\n";
        cout<<"5. Vygruzit' spisok v fail.\n";
        cout<<"\nStatistika:\n";
        cout<<"6. Sredniy budget vseh filmov.\n";
        cout<<"7. Samyy neudachnyy film po versii BVT-11.\n";
        cout<<"8. Film s naibol'shim i naimen'shim reytimgom.\n";
        cout<<"9. Film s naibol'shim i naimen'shim bydzhetom.\n";
        cout<<"10. Film s naibol'shim i naimen'shim kassovym sborom.\n";
        cout<<'>';
        cin>>menuItem;  
        switch (menuItem)
        {
        case '1' :
            system("cls");
            inputFilm(&first);
            break;
 
        }
        system("cls");
    }
    while (menuItem != '0');
}
Добавлено через 34 минуты
В чем главная ошибка при передаче указателя на первый элемент?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru