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

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

Войти
Регистрация
Восстановить пароль
 
AKruglyak
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 24
#1

Работы в векторами. - C++

09.03.2012, 13:56. Просмотров 710. Ответов 3
Метки нет (Все метки)

Читая в книге тему про вектора наткнулся на такой предложение:
"Также существует функция push_front() для занесения элементов в начале вектора, однако векторами она не поддерживается"
Поэтому при выполнении задания, которое требовало выведение строк в обратном порядке, я сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
 
int main(){
    vector<string> v;
    ifstream in("test.txt");
    string line;
    int count=0;
    while(getline(in, line)){
    v.push_back(line);
    count++;
    }
    
    for(count; count>0; count--)
    cout<<v[count];
    system("PAUSE");
    }
Программа компилируется, но при запуске крашится, не могу понять, в чем причина? И как использовать push_front()?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2012, 13:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работы в векторами. (C++):

Класс для работы с векторами. - C++
Помогите добавить возможность ввода своих данных(размерности, самих чисел) #include &quot;iostream&quot; #include &lt;math.h&gt; using namespace std;...

Класс для работы с битовыми векторами - C++
Створити клас Bitv для роботи з бітовими векторами довільної довжини. Бітовий вектор – послідовність значень, які можуть мати значення 0...

Создать класс, для работы с динамическими векторами - C++
Создать класс, для работы с динамическими векторами, длины n. В класс реализовать операцию вычитания векторов ввода и вывода в поток....

Работа с векторами - C++
Добрый день. Нужно написать программу, обеспечивающую ввод двух векторов, а также произвести пару действий над векторами: второму вектору...

Проблема с векторами. - C++
Всем привет! У меня возникла проблема: vector&lt; vector&lt;bool&gt;* &gt; *vectorm; vectorm = new vector&lt; vector&lt;bool&gt; *&gt;(5); for (int i...

Работа с векторами - C++
Всем привет. Посмотрел, что такое вектор, понял, что это удобная штука) Но ещё не совсем понял некоторые методы работы с ним. Допустим...

3
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
09.03.2012, 14:07 #2
Цитата Сообщение от AKruglyak Посмотреть сообщение
for(count; count>0; count--)
* * cout<<v[count];
С нуля же отсчет идет.
0
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
09.03.2012, 14:19 #3
ну да. либо исправить на cout << v[count - 1], либо перебирать от count-1 до нуля, либо использовать реверсивные итераторы
C++
1
2
for (std::vector<std::string>::reverse_iterator it = v.rbegin(), end = v.rend(); it != end; ++it)
 std::cout << *it << std::endl;
и еще вариант с алгоритмом copy и реверс итераторами.
0
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
09.03.2012, 14:24 #4
Чтобы выявить ошибку можно воспользоваться методом
C++
1
vector::at
Цитата Сообщение от http://cplusplus.com/reference/stl/vector/at/
The difference between this member function and member operator function operator[] is that vector::at signals if the requested position is out of range by throwing an out_of_range exception.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2012, 14:24
Привет! Вот еще темы с ответами:

Работа с векторами в C++ - C++
У меня на Window 7, программ не работает почему-то возможно я где-то ошибаюсь по невнимательности. Прошу поддержки у более опытных людей....

Программа с векторами - C++
Прошу вас проверить, что в данной программе неправильно, т. к. я не нахожу никаких ошибок. Однако, компилятор работает с ней совсем не так,...

Работа над векторами! - C++
Даны вещественные числа a1, a2, ... an. Поменять местами наибольший и наименьший элементы. Помогите пожалуйста!

Операции с векторами и матрицами - C++
а) Написать программу, которая выполняет следующую операцию : Q = X +3*Y Где X, Y, Q – векторы размером 20x1. Все элементы векторов X...


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

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

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