Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Eugen-S
9 / 9 / 1
Регистрация: 06.11.2011
Сообщений: 122

STL . Обращение к 12 элементу вектора

26.09.2012, 23:25. Показов 1551. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, форумчане!
Столкнулся вот с такой проблемой. Имеется вектор, заполненный числами, огромной длины. Но почему-то не хочет выводить 12й элемент... Вот соб-но код, пробую уже даже 2мя вариантами обратиться к нему:

C
1
2
3
4
5
for(i=0; i<100; i++)
        {
                cout<<arr.at(i)<<" ";
        cout<<arr[i]<<endl;
    };
Ну и, доходя до 12, программа выкидывает ошибку:
-abort(), has been canceled...

не понимаю чего так. Или может быть я что-то недопонял в работе с вектором?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.09.2012, 23:25
Ответы с готовыми решениями:

STL обращение к элементу list
Помогите исправить ошибку. #include &lt;list&gt; #include &lt;iostream&gt; using namespace std; class PeopleB{ public: int xxx; }; ...

STL обращение к элементу vector
Помогите исправить ошибку. #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; class otschet { public: double...

Обращение к последнему элементу вектора
Здравствуйте, мне нужно сравнить последний элемент вектора с числом и в зависимости от того, какое это число, выполнить дальнейшие...

14
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
26.09.2012, 23:36
А есть ли в нём элемент с таким индексом?
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
26.09.2012, 23:45
Цитата Сообщение от Eugen-S Посмотреть сообщение
Имеется вектор, заполненный числами, огромной длины.
Покажи код заполнения вектора
0
 Аватар для Eugen-S
9 / 9 / 1
Регистрация: 06.11.2011
Сообщений: 122
26.09.2012, 23:49  [ТС]
Заполнение идет таким образом.

C
1
2
for(int i=0;i<100;i++)
   arr.push_back(i);
Добавлено через 1 минуту
если заполнять insert()-ом, то, выводит те же числа, только в обратном порядке, но тоже на выводе 12ти эррор...
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
26.09.2012, 23:51
Цитата Сообщение от Eugen-S Посмотреть сообщение
Заполнение идет таким образом.

C
1
2
for(int i=0;i<100;i++)
   arr.push_back(i);
Добавлено через 1 минуту
если заполнять insert()-ом, то, выводит те же числа, только в обратном порядке, но тоже на выводе 12ти эррор...
Такого не может быть. Приведи, пожалуйста, всю программу.
0
 Аватар для Eugen-S
9 / 9 / 1
Регистрация: 06.11.2011
Сообщений: 122
26.09.2012, 23:55  [ТС]
а это собственно и есть вся программа, 2 цикла. заполняю и вывожу на экран..
выводится 0,1,2....10,11 - Error. вся работа программы.

Вектор создается так:

vector<int> arr;
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
27.09.2012, 00:03
Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <vector>
 
using namespace std;
 
int main() {
  vector<int> vec;
  for(int i = 0; i < 100; ++i)
    vec.push_back(i);
 
  for(int i = 0; i < 100; ++i)
    cout << vec[i] << " ";
}
У тебя работает ?
0
 Аватар для Eugen-S
9 / 9 / 1
Регистрация: 06.11.2011
Сообщений: 122
27.09.2012, 00:07  [ТС]
не поверишь, но ДА! но почему мой не работает?

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
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <deque>
#include <time.h>
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    vector<int> arr,arr2;
    deque<int> deq,deq2;
 
    int i=0;
    clock_t t=NULL;
 
    //-------------------------------------
 
    for(i=0;i<(10^6);i++)
        arr.push_back(i);
 
    cout<<"After vector push_back: "<<clock()-t/CLOCKS_PER_SEC<<endl;
 
    for(i=0; i<1000; i++)
        {
            cout<<arr.at(i)<<" ";
        cout<<arr[i]<<endl;
    };
 
..........
Дальше пошла работа с очередью...
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
27.09.2012, 00:12
Цитата Сообщение от Eugen-S Посмотреть сообщение
for(i=0;i<(10^6);i++)
* * * * arr.push_back(i);
Вот именно поэтому я и просил показать, как ты заполняешь массив.
^ - он же побитовый XOR.
10^6 = 1010b ^ 0110b = 1100b = 12.
Ты создал массив на 12 элементов.
1
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
27.09.2012, 00:14
Цитата Сообщение от Eugen-S Посмотреть сообщение
for(i=0;i<(10^6);i++)
а ты уверен что у тебя счет идет до миллиона
10^6 это не возведение в степень это исключающие или
и число у тебя будет 1010 ^ 110 = 1100 =0x0C= 12
т.е цикл идет до 12

Добавлено через 34 секунды
Andrew_Lvov,
опередил
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
27.09.2012, 00:15
Цитата Сообщение от ValeryS Посмотреть сообщение
опередил
Виноват ))
0
 Аватар для Eugen-S
9 / 9 / 1
Регистрация: 06.11.2011
Сообщений: 122
27.09.2012, 00:17  [ТС]
хм. об этом еще не слышал. Так а что делает ^ с битами? складывает 2 числа получается? или перемножает?

Добавлено через 1 минуту
о. Валерис - уже ближе)) это знаю)
Ребят, Спасибо за помощь, огромное!
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
27.09.2012, 00:17
0 ^ 0 => 0
1 ^ 0 => 1
0 ^ 1 => 1
1 ^ 1 => 0
1
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
27.09.2012, 00:19
Цитата Сообщение от Eugen-S Посмотреть сообщение
Ребят, Спасибо за помощь, огромное!
для спасибы кнопка есть
1
 Аватар для Eugen-S
9 / 9 / 1
Регистрация: 06.11.2011
Сообщений: 122
27.09.2012, 00:23  [ТС]
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
0 ^ 0 => 0
1 ^ 0 => 1
0 ^ 1 => 1
1 ^ 1 => 0
Это знается, просто забылось как-то) спасибо еще раз!)

Добавлено через 42 секунды
Цитата Сообщение от ValeryS Посмотреть сообщение
для спасибы кнопка есть
я уже
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.09.2012, 00:23
Помогаю со студенческими работами здесь

Обращение к конкретному элементу двумерного вектора
Здравствуйте. Делаю лабу и не могу разобраться в некоторых вопросах. Нужно обратиться к конкретному элементу вектора, находящегося в...

Обращение к элементу структуры (вектора) без явного указание онного
Доброго времени суток. Вопрос прям подмывает. есть структура struct xx{ int yy; int ww; } есть вектор

Что быстрее? Обращение к элементу массива или к элементу структуры?
Обращение к элементу массива или к элементу структуры? Экспериментирую с кодом и получается примерно одинаково. Что интересно, время на...

STL. Функция, которая будет искать элементы большее среднего арифметического вектора и удалять их из вектора
у меня есть вектор, помогите пожалуйста дописать функцию, которая будет искать элементы большее среднего арифметического вектора и удалять...

Класс-список с доступом к любому элементу (STL)
Нужно написать контейнерный класс список для хранения объектов класса комплексных чисел(имеется). Причем нельзя делать очередь, стек, дек и...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. На мобильном - сканируйте QR-код. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru