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

Массив структур, непонимание деталей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы. Удалить все столбцы, в которых четное количество нечетных элементов http://www.cyberforum.ru/cpp-beginners/thread742881.html
2)в двумерном массиве, элементы которого-целые числа, произвести следующие действия:удалить все столбцы, в которых четное количество нечетных элементов.
C++ Дана строка, содержащая 2 слова, разделенная произвольным символом(но не буквой!) Здраствуйте, помогите с решением задачи. Дана строка, содержащая 2 слова, разделенная произвольным символом(но не буквой!). Надо поменять местами словам, т.е. скопировать в другую строку, поменяв слова местами. Буду очень благодарен Вам. http://www.cyberforum.ru/cpp-beginners/thread742859.html
Определить упорядочены ли буквы по алфавиту C++
Дано слово. Определить, упорядочены ли его буквы по алфавиту. Выделить первую упорядоченную последовательность в новую строку. Только есть одна просьба если не сложно сделайте пожалуйста через printf и scanf, так как через cin и cout я не особо понимаю)
Массивы. Вставить новый элемент после всех элементов, которые заканчиваются на данную цифру C++
1)в одномерном массиве, элементы которого-целые числа, произвести следующие действия:вставить новый элемент после всех элементов, которые заканчиваются на данную цифру.
C++ Дан массив из чисел, содержащих как положительные так и отрицательные значения http://www.cyberforum.ru/cpp-beginners/thread742843.html
Здраствуйте, помогите с решением задачи. Дан массив из чисел, содержащих как положительные так и отрицательные значения. Подсчитать "К" количество положительных элементов в массиве. Создать динамический массив "К" элементов и скопировать все положительные значения из исходного массива. Буду очень благодарен Вам.
C++ функция с аргументами массив и размерность массива Собственно, для меня острая проблема, как с помощью указателей передать в функцию, размерность? // Function with array argument #include "iostream" using namespace std; void func(int a, int n) { int i, p = 1; подробнее

Показать сообщение отдельно
maSt
 Аватар для maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
23.12.2012, 12:16     Массив структур, непонимание деталей
Всем добрый день.
Есть несколько маленьких вопросов по массивам структур. И извините за странные названия переменных.

я создаю структуру такого типа
C++
1
2
3
4
5
6
7
class Lancuch
{
public:
    char cos;
    Lancuch * nastepny;
};
Lancuch * poczatek = NULL;

в main создаю свой массив структур и пытаюсь создать массив в котором буду хранить начало каждого списка
C++
1
2
Lancuch * elem= new Lancuch[n]; // массив структур
    Lancuch * poczatek= new Lancuch[n] = NULL; //сюда хочу записывать начало каждого элемента из массива
И тут сразу же первый вопрос
C++
1
Lancuch * poczatek= new Lancuch[n] = NULL;
Нормально ли так "нуллить" каждый элемент массива?


Дальше пытаюсь добавлять данные к выбранному элементу массива.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        int numer;
    char p;
    cin >> numer;
    cin >> p;
    if (poczatek==NULL)
    {
        (elem+numer)->cos=p;
        poczatek=(elem+numer); // для того чтобы все работало по задумке,
        elem->nastepny=NULL;   //тут должно быть (poczatek+numer)=(elem+numer);
    }                                        //но именно так не работает и выкидывает ошибку
    else
    {
        (elem+numer)->nastepny = new Lancuch;
        elem= (elem+numer)->nastepny;   // так же как и тут, мне кажется что для того чтобы работало нужно
        (elem+numer)->cos=p;                // написать (elem+numer)= (elem+numer)->nastepny;
        (elem+numer)->nastepny=NULL;
 
    }
В двух местах которые я прокомментировал выдает ошибку, я просто не могу понять из-за чего. Подскажите что нужно исправить и из-за чего не работает?

и последний вопрос. Может лучше тогда просто в структуру добавить
C++
1
Lancuch * poczatek;
просто чтобы каждый элемент тогда сохранял в себе указатель на первый?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru