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

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

Войти
Регистрация
Восстановить пароль
 
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
#1

Как передвигать указатель на следующий элемент массива структур? - C++

19.08.2014, 13:34. Просмотров 616. Ответов 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
#include<iostream>
using namespace std;
 
struct man
{
    char name[20];
    int age;
};
 
int main()
{
    cout << "Enter men amount: ";
    int amount;
    cin >> amount;
    cin.ignore();
    man *list = new man[amount];
 
    for (int i = 0; i < amount; ++i)
    {
        cout << "Man #" << i + 1 << " name: ";
        cin.getline(list[i].name, 20);
        cout << "Man #" << i + 1 << " age: ";
        cin >> list[i].age;
        cin.ignore();
    }
 
    for (int i = 0; i < amount; i++)
    {
        cout << "Man #" << i + 1 << ":\n";
        cout << list[i].name << " " << list[i].age << endl;
    }
    return 0;
}


Можно ли в цикле for применять такую форму записи:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
for (int i = 0; i < amount; ++i)
    {
        cout << "Man #" << i + 1 << " name: ";
        cin.getline(list->name, 20);
        cout << "Man #" << i + 1 << " age: ";
        cin >> list->age;
        cin.ignore();
    }

и как в таком случае передвигать указатель на следующий элемент массива структур?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2014, 13:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как передвигать указатель на следующий элемент массива структур? (C++):

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

Указатель на следующий элемент структуры - C++
Как преобразовать строку myArray.next = &amp;myArray.x; , чтобы она правильно работала? В следующем коде: #include &lt;iostream.h&gt; ...

Как передвигать указатель на разное количество байт? - C++
В общем проблема такая, нужно создать динамический массив из элементов дабл в начале которого есть один элемент типа инт в котором записана...

Передвинуть указатель на следующий элемент структуры - C++
Есть структура struct reklama //Создаем структуру! { char zakazchik; //здесь будет храниться имя владельца int...

Указатель в списке ссылается на себя, а не на следующий элемент - C++
Уважаемые, форумчане! Помогите разобраться в вопросе. Я хочу реализовать стек(добавление элемента) на основе односвязного списка. ...

Передача массива структур в функцию через указатель - C++
вот пример куска кода, не могу понять почему ругается на: void Add(student *ptr) { for(int i = 0; i&lt;lim; i++) { ...

3
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
19.08.2014, 13:38 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Donnerwetter Посмотреть сообщение
Можно ли в цикле for применять такую форму записи
Применять-то конечно можно, только будете всегда указывать на первый элемент массива.

Вот так пойдёт:
C++
1
(list + i)->name
1
Fallenworld
76 / 76 / 9
Регистрация: 14.04.2014
Сообщений: 408
19.08.2014, 13:41 #3
Как и во всех массивах С++, имя - это указатель на его 1ый элемент.
инкремент передвигает указатель на следующий
C++
1
list++
как написано выше можно и так
C++
1
(list+i)
в этом случае list продолжить указывать на 1ый элемент массива.

П.С. пожелание: допиши в конец
C++
1
delete [] list
чтобы ресурсы не утекали...
П.П.С. напомню, что 1ый элемент имеет номер 0
1
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
19.08.2014, 13:53  [ТС] #4
Цитата Сообщение от John Prick Посмотреть сообщение
Вот так пойдёт
то, что доктор прописал!
Цитата Сообщение от Fallenworld Посмотреть сообщение
list++
как раз вот так и пробовал, не работает, поэтому решил спросить; а про delete забыл, спасибо за напоминание

вопрос решен.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2014, 13:53
Привет! Вот еще темы с ответами:

Можно ли представить структуру как элемент массива, т е массив состоящий из однотипных структур - C++
Можно ли представить структуру как элемент массива, т е массив состоящий из однотипных структур

Исключить из массива первый положительный элемент, следующий за максимальным - C++
Дан одномерный массив А, состоящий из N элементов.Исключить из массива первый положительный элемент,следующий за максимальным.

Найти следующий по величине после минимального элемент массива - C++
Задан одномерный массив чисел. Написать программу которая находит следующий по величине после минимального элемент и его номер. ...

Указатель на элемент массива - C++
Добрый день! Возникла проблемка... грубо говоря есть два массива x и y, как к примеру указателю x присвоить указатель y? через &amp;x не дается...


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

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

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