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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Как выделить память под динамический двумерный массив http://www.cyberforum.ru/cpp-beginners/thread1157351.html
Добрый день, достаточно простой вопрос, но почему-то он возник, и нагуглить ответ я не смог. Обычно выделял память под двумерный массив следующей командой float **mas = new float *; Однако, как я понимаю, она выделяет память под квадратную матрицу размером M, т.е. одинаковое количество строк и столбцов. А что если мне нужна не квадратный динамический массив, а динамический массив N * M ? Как...
C++ Подсчитать сумму элементов в тех строках матрицы, где нет отрицательных элементов Здравствуйте. я совсем не разбираюсь в программировании, но нужно сдать лабу, не могли бы вы мне помочь. я попыталась написать программу но она не работает. мне нужно подсчитать сумму элементов в тех строках матрицы, где нет отрицательных элементов. т.е сложить первые две строки в моем случае, но у меня получается он складывает все положительные. #include "stdafx.h" #include <iostream>... 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); std::cout << crt.x << std::endl;
Найти максимальные элементы каждой строки матрицы и просуммировать их C++
Помогите, надо найти сумму, всё остальное вроде получилось: #include <iostream> #include <time.h> using namespace std; int main() { setlocale(0, "rus"); srand(time(0)); int matrix; int mass;
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
25.04.2014, 18:28     Двусвязные структуры
Помогите разобарться:

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 минуты
В чем главная ошибка при передаче указателя на первый элемент?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru