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

Вектор выходит за диапазон - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Com port и С++ http://www.cyberforum.ru/cpp-beginners/thread1798420.html
Хочу отослать данные по ком порту на контроллер.Вот только беда,не отсылается всё сообщение,а только один символ.Как это исправить? LPCTSTR sPortName = L"COM4"; CString ed=L"asdasd"; CString...
C++ Сформировать массив неповторяющихся элементов исходного массива Сформировать массив из неповторяющихся элементов исходного массива. Например : Из массива A = {2,5,2,6,8,5,1,9,4,3 } нужно получить массив B ={6,8,1,9,4,3,0,0,0,0}. Или B={6,8,1,9,4,3) что даже... http://www.cyberforum.ru/cpp-beginners/thread1798417.html
Функция strlen перед вызовом моей функции портит строку в конфигурации Release MS Visual C++ 2013 C++
Написал функцию RemoveChars, которая убирает символы перевода строки в строке. Если в конфигурации проекта Visual C++ в Microsoft Visual Studio 2013 установлено Debug, проблем нет. Если перед вызовом...
Сгенерировать заголовочный файл для .lib (созданной в Maple) C++
Доброго, форумчане! у меня нет опыта в кодинге на с++ и это мой первый пост) хочется подключить lib файл (созданный в maple) к .net проекту. Основываюсь на этой статье для начало реализовал на...
C++ Как передать аргументы из командной строки в функцию main(), что программа заработала? (файловый ввод/вывод) http://www.cyberforum.ru/cpp-beginners/thread1798359.html
Как передать аргументы из командной строки в аргумент int main(int argc, char *argv), что бы заработала это прога: #include <iostream> #include <fstream> using namespace std; int main(int argc,...
C++ Что нужно знать, чтобы взяли на работу C++-программистом? всем привет. Я учу С++ уже 10 месяцев. по двум книгам, первую я закончил это Джес либерти 21 день. Вторая Это стивен прата 9 издание упражение и лекции. Я закончил 15 глав из 18. На данный момент я... подробнее

Показать сообщение отдельно
Protss
0 / 0 / 0
Регистрация: 15.08.2016
Сообщений: 40
25.08.2016, 12:20  [ТС]
Понятно, а я думал что вектор все равно выходит за диапазон k=5, но условие останавливает его. Но факт что он выходит)
А я тут нагородил, нужно ivec.size()

Добавлено через 9 минут
Скажите, а почему у меня выводится при k=0 010104, а при остальных k ( 9,16....)?

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
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    int k;
 
    vector<int> ivec = { 2,3,4,5,6 };
 
 
    for (int k=0; k != ivec.size(); ++k)
    {
        cout << (ivec[k] % 2 != 0) ? ivec[k]*=ivec[k] : ivec[k]=ivec[k];
 
    }
 
 
    for (auto c : ivec)
 
 
    {
        cout << c << endl;
    }
    system("pause");
 
 
 
    return 0;
}
Добавлено через 22 минуты
Кликните здесь для просмотра всего текста
с помощью итераторов, такой же вывод
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
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    int k;
 
    vector<int> ivec = { 2,3,4,5,6 };
 
 
    for (auto beg=ivec.begin(); beg != ivec.end(); ++beg)
    {
        cout << (*beg % 2 != 0) ? *beg*=*beg : *beg=*beg;
 
    }
 
 
    for (auto c : ivec)
 
 
    {
        cout << c << endl;
    }
    system("pause");
 
 
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru