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

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

Восстановить пароль Регистрация
 
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
12.10.2012, 16:42     переменная присваивает значения вектора #1
У меня есть определенные вектор, который содержит символы (причем в каждом элементе вектора по 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++
C++ нахождение найбольшего значения вектора
C++ Bool переменная; действие при изменении значения
Исправить программу на собственные значения и им соответствующие вектора C++
C++ Оптимальный способ нахождения максимального значения в столбце двумерного вектора
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 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
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
12.10.2012, 17:02     переменная присваивает значения вектора #3
C++
1
std::copy(strV.begin(), strV.end(), std::back_inserter(a));
Egor138
 Аватар для 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
152 / 136 / 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
 Аватар для 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;
Возникают ошибки
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2012, 17:49     переменная присваивает значения вектора
Еще ссылки по теме:

Определить значения двух наименьших элементов вектора C++
C++ Переменная int выдает дробные значения
C++ Обнуляются значения вектора

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

Или воспользуйтесь поиском по форуму:
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 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];
Yandex
Объявления
12.10.2012, 17:49     переменная присваивает значения вектора
Ответ Создать тему
Опции темы

Текущее время: 13:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru