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

Двумерный вектор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание указателя на объект и выделение памяти http://www.cyberforum.ru/cpp-beginners/thread238771.html
Не пойму почему при добавлении одного указателя выдает ошибку Этот код работает class A { public: class B { public: int x;
C++ Разработать программу, предназначенную для обработки данных ГАИ о владельцах автотранспорта и зарегистрированных на них автомобилей. О владельцах авто Разработать программу, предназначенную для обработки данных ГАИ о владельцах автотранспорта и зарегистрированных на них автомобилей. О владельцах автотранспорта хранится следующая информация:... http://www.cyberforum.ru/cpp-beginners/thread238748.html
C++ Сумма элементов массива, от первого до последнего нулевого, с использованием функции
Практически готово, только при компиляции ошибка, не могу понять где: #include <iostream> using namespace std; int summa(int); int main() { int n; int s;
C++ Произведение четных элементов
Нужно посчитать произведение четных элементов массива, с использованием функций Но у меня постоянно выдает 120, я не могу понять почему... #include <iostream.h> int Proiz(int); int main() {...
C++ Ввод и обработка строк. http://www.cyberforum.ru/cpp-beginners/thread238706.html
Доброго всем времени суток, собственно как и многие, начал проходить с++. Задачки которые есть простенькие, но одна вещь вводит меня в ступор. Я практически ничего не знаю в си, поэтому не знаю даже,...
C++ принадлежность точек Всем привет. Подскажите, кто сможет. Нужно определить к какой из областей на графике относится точка. Координаты точек вводим с клавиатуры. Вот рисунок графика: P.S. подскажите с чего начать... подробнее

Показать сообщение отдельно
Matlabist
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 102
06.02.2011, 16:02  [ТС]
Получилось что-то вроде такого. Ничего я не перемудрил?
У меня VS 6.0 дает предупреждения
warning C4786: 'std::reverse_iterator<std::vector<Model::Cell,std::allocator<Model::Cell> > const *,std::vector<Model::Cell,std::allocator<Model::Cell> >,std::vector<Model::Cell,std:
:allocator<Model::Cell> > const &,std::vector<Model::Cell,std::allocator<Model::Cell> > const *,int>' : identifier was truncated to '255' characters in the debug information
Причем VS 2010 таково нет.
Не могу понять мочему на экране
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
i = 1 j = 1
 
i = 1 j = 2
 
i = 1 j = 3
 
i = 1 j = 1
 
i = 1 j = 2
 
i = 1 j = 3
 
i = 1 j = 1
 
i = 1 j = 2
 
i = 1 j = 3
Хотя должно быть по идеи
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
i = 1 j = 1
 
i = 1 j = 2
 
i = 1 j = 3
 
i = 2 j = 1
 
i = 2 j = 2
 
i = 2 j = 3
 
i = 3 j = 1
 
i = 3 j = 2
 
i = 3 j = 3
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
50
51
52
53
#include "stdafx.h"
#include <vector>
#include <stdlib.h>
class Model
{
public:
    int nx,ny;
    class Cell
    {
        public:
        int x;
        int y;
        Cell(int x_,int y_)
        {
            x=x_;
            y=y_;
        };
    };
    typedef std::vector<std::vector<Cell> > Vector2D;
    typedef std::vector<Cell> Vector1D;
    Vector2D vector2D; 
    class Model(int nx_,int ny_)
    {
        nx=nx_;ny=ny_;
        Vector1D vector1D;
        for(int i=0;i<nx;++i) {
            for(int j=0;j<ny;++j) {
                Cell* cell=new Cell(i+1,j+1);
                vector1D.push_back(*cell);
            };  
            vector2D.push_back(vector1D);
 
        };
    };
    void PrintCells()
    {
        for(int i=0;i<nx;++i) {
            for(int j=0;j<ny;++j) {
                printf("\ni = %d j = %d\n",vector2D.at(i).at(j).x,vector2D.at(i).at(j).y);
            };
        };
    };
 
};
 
 
int main(int argc, char* argv[])
{
    Model* model=new Model(3,3);
    model->PrintCells();
    printf("Hello World!\n");
    return 0;
}
Добавлено через 15 минут
Понял. Нужно было чистить вектор vector1D на 33 строке.
vector1D.erase(vector1D.begin(),vector1D.end()--);
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru