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

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

Войти
Регистрация
Восстановить пароль
 
Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
#1

переменная присваивает значения вектора - C++

12.10.2012, 16:42. Просмотров 597. Ответов 6
Метки нет (Все метки)

У меня есть определенные вектор, который содержит символы (причем в каждом элементе вектора по 1 символу). Как мне занести все эти элеметы в эдну переменную строкового типа??

Пример:

C++
1
2
3
4
5
6
7
8
9
10
vector <string> strV;
string a;
 
strV[0] = f;
strV[1] = k;
strV[2] = l;
 
после определенных операций:  
 
a = "fkl";
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2012, 16:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос переменная присваивает значения вектора (C++):

Переменная int выдает дробные значения - C++
Подскажите пожалуйста, в программе существует динамический массив чисел integer, при инициализации заполняется значениями 0, и после сразу...

Bool переменная; действие при изменении значения - C++
Ребята, вопрос больше по логике написания нежели оформления. Такая ситуация: есть приложение, в приложении есть переменная, bool. Я...

Может ли в Ц переменная иметь переменные значения? Строки... - C++
Есть простой и понятный кусочек на PHP: $variable='value' $string='Variable='.$variable.' ' Переписываю на Ц без плюзов GCC 3.2.2...

Обнуляются значения вектора - C++
Всем здравствуйте! Столкнулся с очень необычной проблемой, т.к. я до этого работал только на языках, где есть &quot;сборщик мусора&quot;. Есть...

Просто не могу вывести значения из вектора - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;stdexcept&gt; using std::cout; using std::cin; using std::endl; ...

Проверка, есть ли в ячейке вектора значения - C++
if ( vec_all != 0) { for (int t = 0; t &lt; vec_all.size(); t++) { for (int n = 0; n &lt;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.10.2012, 16:57 #2
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
    vector <string> strV(3);
    strV[0] = 'f'; strV[1] = 'k'; strV[2] = 'l';
    string a;
    for (const auto &x : strV) a+=x;
    cout<<a<<endl;
    system("pause");
    return 0;
}
Andsteadur
153 / 137 / 3
Регистрация: 23.05.2009
Сообщений: 275
12.10.2012, 17:02 #3
C++
1
std::copy(strV.begin(), strV.end(), std::back_inserter(a));
Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
12.10.2012, 17:13  [ТС] #4
Цитата Сообщение от yuron_477 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
    vector <string> strV(3);
    strV[0] = 'f'; strV[1] = 'k'; strV[2] = 'l';
    string a;
    for (const auto &x : strV) a+=x;
    cout<<a<<endl;
    system("pause");
    return 0;
}
А что означает эта строка
C++
1
for (const auto &x : strV) a+=x;
?
Andsteadur
153 / 137 / 3
Регистрация: 23.05.2009
Сообщений: 275
12.10.2012, 17:20 #5
C++
1
for (const auto &x : strV) a+=x;
это с использованием C++11. For последовательно перебирает последовательность strV, значение элемента попадает в x(тип x определяется компилятором). Если интересно почитайте про range-based for-loop и ключевое слово auto в С++11.
Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
12.10.2012, 17:39  [ТС] #6
Цитата Сообщение от Andsteadur Посмотреть сообщение
C++
1
for (const auto &x : strV) a+=x;
это с использованием C++11. For последовательно перебирает последовательность strV, значение элемента попадает в x(тип x определяется компилятором). Если интересно почитайте про range-based for-loop и ключевое слово auto в С++11.
Тоесть эта одна строка делает всю работу))
Спасибо большое)

Добавлено через 3 минуты
C++
1
2
3
1>c:\users\егор\desktop\c++проекты\consolefun+\consolefun+\main.cpp(406) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\users\егор\desktop\c++проекты\consolefun+\consolefun+\main.cpp(406) : error C2143: синтаксическая ошибка: отсутствие "," перед ":"
1>c:\users\егор\desktop\c++проекты\consolefun+\consolefun+\main.cpp(406) : error C2530: x: ссылки должны быть инициализированы
C++
1
for (const auto &x : strV) str+=x;
Возникают ошибки
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.10.2012, 17:49 #7
От компилятора зависит будет ли работать. Замените цикл на
C++
1
2
for (int i = 0; i<strV.size(); i++)
        a+=strV[i];
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2012, 17:49
Привет! Вот еще темы с ответами:

Вычислить значения элементов вектора по заданной формуле - C++
Найти вектор y={y1,y2…,y6} по формуле: yi={5xi3-3xi2+1 если i&lt;3, 3xi2-25 , если i&gt;=3 // і - индекс, число после і -...

Определить значения двух наименьших элементов вектора - C++
С клавиатуры ввести вектор целых чисел. Определить значения двух наименьших элементов вектора. Если они не одинаковые, то заменить эти...

Удалить из вектора все значения равные заданному - C++
Подскажите пожалуйста Сделал вот такую программу #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; #include...

Определить значения трех средних элементов вектора - C++
Дан вектор V с нечетным количеством элементов N (≥ 3). Определить значения трех средних элементов вектора после того, как вектор будет...


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

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

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