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

Почему вместо вектора 2х5 выходит 2х9 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив. Программа для определения максимального подъема 100-километровой автотрассы. http://www.cyberforum.ru/cpp-beginners/thread561874.html
Здравствуйте! Вот написал программу, но не устраивает меня тем, что нужно выдавать самый длинный подъем, так и есть, но вот как написать от какого элемента начался подъем и каким закончился именно в...
C++ Различия компиляции Degug и Release версий Всем доброго времени суток, написал парсер с использованием стека, компилирую в Degug версии - все работает корректно как и ожидается, компилирую в Release версии - выдает полный бред. Если... http://www.cyberforum.ru/cpp-beginners/thread561859.html
C++ Как написать проверку на "циферность"
Хочу сделать такое: if (Переменная - не цифра) { cout << "Введите переменную еще раз"; } Знаю, есть функция isdigit(), но тут проблема - эта функция проверяет числа до 256, а это не...
C++ Хэширование строк
Доброе время суток! Пользователь вводит строку, она записывается в массив (если он не переполнен); Вычисляется её хэш адрес по алгоритму свёртка 2; Если этот адрес в хэш таблице занят,...
C++ C++ декомпилляция и защита приложений http://www.cyberforum.ru/cpp-beginners/thread561844.html
Всем привет, очень удивлен, что нет такой темы, но все же: 1) Есть ли возможность декомпилляции приложений написанных на С++? или как минимум дизассембирования 2) Если в п.1 ответ да, то есть ли...
C++ Консольная РПГ. (MUD-подобная). Здравствуйте. Недавно я начал изучать C++. И для хорошего усвоения пройденного материала решил написать консольную MUD-подобную РПГ. Кто не знаком с таковыми, и лень читать на wiki, объясню На... подробнее

Показать сообщение отдельно
Lopster92
3 / 3 / 0
Регистрация: 25.12.2009
Сообщений: 49

Почему вместо вектора 2х5 выходит 2х9 - C++

30.04.2012, 01:47. Просмотров 595. Ответов 12
Метки (Все метки)

Почему вместо вектора 2х5 выходит 2х9?

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "wnd_rus.h"
#include <iostream>
#include <vector>
 
struct point {
    int dist, way;
};
 
typedef std::vector<point> path_v;
typedef std::vector<path_v> pathes_v;
 
 
int main() {
#if (defined(_MSC_VER) | defined(__MINGW32__) )
    beginWndRus();
#endif
 
    const size_t LIMIT_P = 5;
    const size_t LIMIT_PS = 2;
 
    point p = {0, 0};
    path_v pv;
    pathes_v psv;
 
    for(size_t j=0; j < LIMIT_PS; j++){
        for(size_t i=j; i < LIMIT_P; i++) {
            //p = {i, i+1};
            p.dist = i;
            p.way = i+1;
            pv.push_back(p);
        }
        psv.push_back(pv);
    }
 
    path_v::iterator pv_it;
    pathes_v::iterator psv_it;
 
    // ++p_v_it
    for(psv_it = psv.begin(); psv_it != psv.end(); psv_it++) {
        for(pv_it = pv.begin(); pv_it != pv.end(); pv_it++) {
            std::cout << "Dist: " << (*pv_it).dist << "; Way: "<< (*pv_it).way << ";\n";
        }
    }
 
#if (defined(_MSC_VER) | defined(__MINGW32__) )
    endWndRus();
#endif
    return 0;
}
Результат вывода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dist: 0; Way: 1;
Dist: 1; Way: 2;
Dist: 2; Way: 3;
Dist: 3; Way: 4;
Dist: 4; Way: 5;
Dist: 1; Way: 2;
Dist: 2; Way: 3;
Dist: 3; Way: 4;
Dist: 4; Way: 5;
Dist: 0; Way: 1;
Dist: 1; Way: 2;
Dist: 2; Way: 3;
Dist: 3; Way: 4;
Dist: 4; Way: 5;
Dist: 1; Way: 2;
Dist: 2; Way: 3;
Dist: 3; Way: 4;
Dist: 4; Way: 5;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru