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

Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
04.09.2012, 20:22     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #1
Добрый вечер.
Попрошу помочь с следующим кодом :
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
#include <cstdlib>
#include <iostream>
#include <list>
 
using namespace std;
struct {
    int inf;
    list<int> *next; // верна ли запись
    
};
 
 
int main() {
    int n;
    n=10;
    list *first;// создаем ссылку
    first = new list; // выделяем память
    first -> inf = rand();// как обратиться к этой переменной ?
    cout<<first ->inf;
    
    list *w = first; // создаем новую ссылку и присваиваем адрес first 
    
    for(int i = 0;i<n-1;i++){
      w->next = new list;  // выделяем память
      w = w->next; // 
    
    }
    w->next =0;
    w =first;
    
    while(w){// вывод результатов
        cout<<w->inf<<"";
        w = w->next;
    }
    return 0;
}
Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 20:22     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next).
Посмотрите здесь:

C++ как работают вложенные структуры. что это означает в данном случае?
c++ как обратиться через указатель к данным, которые он адресует? C++
C++ Что означает символ *?
C++ Указатели. Подскажите что означает символ ->
Как называется и что означает такая форма объявления объекта (конструктор) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
04.09.2012, 20:31     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #2
Стрелка (->) позволяет обратиться к полям/методам объекта указателя, так же как и точка (.) у автоматического объекта
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
04.09.2012, 20:55  [ТС]     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #3
first -> inf = rand();
Тогда как следует обратиться к Inf ?
PSIAlt
 Аватар для PSIAlt
86 / 86 / 8
Регистрация: 19.06.2012
Сообщений: 245
04.09.2012, 21:02     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #4
Это у тебя что, связной список связных списков? о_О
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
04.09.2012, 21:06     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #5
scofielcl, в строке 20 это показано:
C++
20
cout<<first ->inf;
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
04.09.2012, 21:17  [ТС]     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #6
Cтроки содержащие
C++
1
first ->inf
ошибочны ,а именно подчеркнуто "inf" (невозможно разрешить индетификатор, NetBeans)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.09.2012, 23:08     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #7
Цитата Сообщение от scofielcl Посмотреть сообщение
list *first;// создаем ссылку
Это на что указатель? На структуру? Как имя стуктуры? list ? Задание какое?
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
05.09.2012, 22:09  [ТС]     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #8
Задание : "создать линейный список"
list *first ; // полагаю будет нужна для обращения к inf(поле в структуре)
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
05.09.2012, 22:15     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #9
Ты пробовал это скомпилировать?
C++
1
2
3
4
5
struct {
    int inf;
    list<int> *next; // верна ли запись
    
};
Неименованная структура без создания экземпляра, обратиться к ней будет невозможно.
C++
1
2
    list *first;// создаем ссылку
    first = new list; // выделяем память
Нет спецификатора < > с указанием типа для шаблона.
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
05.09.2012, 22:26  [ТС]     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #10
C++
1
2
3
4
5
6
7
8
9
10
11
struct bob {
    int inf;
    list<int> *next; // верна ли запись
    
};
struct bob a[10];
 
 
    list *first;// создаем ссылку
    first = new list; // выделяем память
    first -> a[0].inf = rand();
Добавлено через 2 минуты
Подчеркивает красным "а".
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.09.2012, 22:29     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #11
Цитата Сообщение от scofielcl Посмотреть сообщение
Задание : "создать линейный список"
Так и создавайте. Зачем тут шаблонный класс list ? Для начала так:
C++
1
2
3
4
5
struct node
{
    int inf;
    node *next; 
};
Узлы, из которого будет состоять список.
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
05.09.2012, 22:42  [ТС]     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #12
Код не корректен , напишу верный вариант завтра.
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
#include <cstdlib>
#include <iostream>
#include <list>
 
using namespace std;
struct node {
    int inf;
    node *next; // верна ли запись
    
};
//struct node a[10];
 
int main() {
    int n;
    n= 10;
    node *first;// создаем ссылку
    first = new node; // выделяем память
    first -> inf = rand();// как обратиться к этой переменной ?
    cout<<first -> inf;
    
    node *w = first; // создаем новую ссылку и присваиваем адрес first 
    
    for(int i = 1;i<n-1;i++){
      w->next = new node;  // выделяем память
      first -> inf = rand();
      w = w->next; // 
    
    }
    w->next =0;
    w =first;
    
    while(w){// вывод результатов
        cout<<w->inf<<" ";
        w = w->next;
    }
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2012, 05:12     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next).
Еще ссылки по теме:

Как обратиться к элементу списка list ? C++
Как обратиться к следующему элементу в std::list? C++
Разъяснить, что выполняет программа C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.09.2012, 05:12     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next). #13
Один из вариантов:
Код
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
#include <iostream>
#include <time.h>
#include <Windows.h>
#include <ctime>
using namespace std;
 
struct node
{
    int inf;
    node *next;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    node *front = NULL; // указатель на начало списка
    node *rear = NULL; //  указатель на конец списка
 
    int n;
    cout << "Введите количество элементов в списке ";
    cin >> n;
 
    srand(time(NULL));
    while (n)
    {
        node *add = new node; // новый элемент
        if (add == NULL) // если память не выделена
        {
            cout << "Ошибка при выделении памяти!";
            break;
        }
        add -> inf = rand() % 100 + 1; // присвоение полю inf нового эл. случайного числа.
        add -> next = NULL;
        if (front == NULL) // если список пустой, то в начало
        {
            front = add; // front указывает на начало списка
            rear = front; // если элемент один в списке
        }
        else
            rear -> next = add; // если список не пустой, то в конец
        rear = add; // rear указывает на конец списка
        n--;
   }
 
    // вывод поля inf элементов списка.
    
    node *pnt = front; // pnt  указывает на начало списка
    do
    {
     cout << pnt ->inf << endl; // вывод поля inf
     pnt = pnt ->next; // pnt теперь указывает на следующий элемент
    } while (pnt != NULL); // пока pnt не равен NULL
 
system("pause");
return 0;
}
Yandex
Объявления
06.09.2012, 05:12     Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next).
Ответ Создать тему
Опции темы

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