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

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

Войти
Регистрация
Восстановить пароль
 
borovik
209 / 203 / 1
Регистрация: 25.07.2010
Сообщений: 1,151
#1

указатель массива на спиок в STL - C++

17.10.2010, 17:53. Просмотров 643. Ответов 8
Метки нет (Все метки)

привет ещё раз.
1. нужно составить массив размерностью = 5.
2. заполнить его указателями на пять новых списков (SLT).
3. вставить например число 66 в конец списка, чтобы узнать в какой список вставлять, надо считать указатель, который хранится предположим в mas[3].
Реализовал так, и получил миллион ошибок...
Не могу всё перевести в код, особенно пункт 3 хелп

C++
1
2
3
4
5
6
7
8
9
10
11
 int x, char a; int mas[5];
    list<int>p0; list<int>::iterator i0; mas[0] = *i0;
    list<int>p1; list<int>::iterator i1; mas[1] = *i1;
    list<int>p2; list<int>::iterator i2; mas[2] = *i2;
    list<int>p3; list<int>::iterator i3; mas[3] = *i3;
    list<int>p4; list<int>::iterator i4; mas[4] = *i4;
    list<int>p5; list<int>::iterator i5; mas[5] = *i5;
    cout<<"Введите число: ";
    cin>>x;
    a = mas[n]; //дальше синтаксис не позволяет :)
      // чувствую бред
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2010, 17:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос указатель массива на спиок в STL (C++):

STL list. Какая функция ищет указатель на элемент равный а ? - C++
Есть список с элементами - объектами класса А. В классе А описан operator== (он нестандартный). Вопрос, какая функция будет искать в...

Передать через указатель строку используя STL, и конвертировать все символы в прописные - C++
не получаеться сделать так string &amp; n_propis(string &amp; mas); что бы аргумент принемал указаль на строку #include &lt;iostream&gt; ...

Приведение любого двумерного массива к типу указатель на указатель - C++
Допустим, есть несколько массивов int arr1; int arr2; int arr3; Какое преобразование нужно сделать, чтобы подобные присвоения...

Как получить ссылку на указатель или указатель на указатель в массиве? - C++
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если...

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

Удалить эл из массива (list, stl) - C++
Помогите с задачий в одномерном массиве удалить, введенный с клавиатуры элемент, используя list и библ stl.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
17.10.2010, 18:02 #2
borovik,
C++
1
2
3
4
5
6
7
int x, char a; vector<list<int> > mas;
        list<int>p0; mas.push_back(p0);
        list<int>p1; mas.push_back(p1);
        list<int>p2; mas.push_back(p2);
        list<int>p3; mas.push_back(p3);
        list<int>p4; mas.push_back(p4);
        list<int>p5; mas.push_back(p5);
Ну заполнить например можно так.
Хотя это не указателями конечно, но заполняет ведь)
borovik
209 / 203 / 1
Регистрация: 25.07.2010
Сообщений: 1,151
17.10.2010, 19:47  [ТС] #3
не совсем так, например число которое я хочу добавить x=3, и w = 4 который означает что из mas[4] получить указатель на определенный список и в этот список в конец добавить число x.

Добавлено через 33 минуты
Вот нашёл что надо
Кликните здесь для просмотра всего текста
Хеш-таблица с цепочками коллизий основана на STL контейнере vector, элементами которого являются STL контейнеры типа list, представляющие собой структуры данных для цепочек коллизий. Размер массива вычисляется в конструкторе класса в зависимости от типа хеширования, при выбранном в работе методе хеширования (свёртка, комбинированная с выбором цифр) размер массива должен быть равен степени числа 10. Вставка элемента в таблицу осуществляется путём преобразования ключа в индекс таблицы и последующей вставки элемента в выбранный список (в конец списка).


Добавлено через 1 час 5 минут
неужели никто синтаксис stl не знает
NightmareZ
1340 / 563 / 37
Регистрация: 31.03.2009
Сообщений: 1,918
17.10.2010, 19:56 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от borovik Посмотреть сообщение
неужели никто синтаксис stl не знает
Знают. Только на твои посты отвечать неохото, потому что ты фигню какую-то несёшь. Ну вот:

Цитата Сообщение от borovik Посмотреть сообщение
1. нужно составить массив размерностью = 5.
Массив размерностью 5 - это пятимерный массив:
C++
1
int arr[][][][][];
Тебе же нужен массив размером пять (элементов).

Цитата Сообщение от borovik Посмотреть сообщение
2. заполнить его указателями на пять новых списков (SLT).
STL, а не SLT. Ибо Standard Template Library.

И за какой радостью тут указатели?

Цитата Сообщение от borovik Посмотреть сообщение
// чувствую бред
Правильно чувствуешь.

C++
1
2
3
4
5
// Создали массив списков.
std::list<int> arr[5];
 
// Добавляем новый элемент в третий список.
arr[2].push_back(66);
borovik
209 / 203 / 1
Регистрация: 25.07.2010
Сообщений: 1,151
17.10.2010, 20:10  [ТС] #5
NightmareZ, последние две строчки то что мне и надо
Как вывести это дело вида
51
6325
7545903
345
Постоянно ошибка диапазона.
C++
1
2
3
for(int i=0; i<?; i++)
  for(int j=0; j<?; j++)
    cout<<arr[i][j]<<endl;
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
17.10.2010, 20:13 #6
borovik, Используйте алгоритм copy.
C++
1
std::copy(Arr[i].begin(), Arr[i].end(), std::ostream_iterator<int>(std::cout, " "));
Например
borovik
209 / 203 / 1
Регистрация: 25.07.2010
Сообщений: 1,151
17.10.2010, 20:24  [ТС] #7
Lavroff вылетает
указатель массива на спиок в STL
 Комментарий модератора 
Во избежании потери информации на сторонних ресурсах загружайте изображения на форум через Вложения в Расширенном режиме редактирования сообщений.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
17.10.2010, 20:25 #8
borovik, Код в студию.
borovik
209 / 203 / 1
Регистрация: 25.07.2010
Сообщений: 1,151
17.10.2010, 20:36  [ТС] #9
Lavroff, да, заработало трабл был в пространстве имен, спс всем за терпение всем +
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2010, 20:36
Привет! Вот еще темы с ответами:

Передача массива в stl::queue - C++
Доброго времени суток. Не могу разобраться с типами. Суть: надо в stl::queue отправить массив из 8 байт, и потом из этой очереди его...

Каким образом vector (STL, C++11/14) удаляет элементы из внутреннего массива? - C++
Судя по отладчику, для объекта не просто вызывается деструктор при вызове pop_back(). Объект также пропадает, если смотреть над доступные...

И снова STL. Реализовать сохранение массива в файл, чтоб можно было загружать данные - C++
Имеется контейнер vector объектов класса с полями разного типа, необходимо реализовать сохранение массива в файл, чтоб можно было загружать...

Алгоритмы STL. Дана последовательность целых чисел. Удалить из массива все максимальные элементы - C++
Дана последовательность целых чисел.Удалить из массива все максимальные элементы. Использовать Алгоритмы STL. Помогите доработать) ...


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

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

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