#include <iomanip>
#include <iostream>
#include <vector>

typedef std::vector<std::vector<int>> vector2d;

vector2d CreateVector2d()
{
    vector2d v2d(3, std::vector<int>(3));

    for (unsigned i = 0; i < 3; ++i)
        v2d[i][i] = 1;

    return v2d;
}

void print(std::ostream& os, const vector2d& v)
{
    // C++11:
    for (auto & vec : v)
    {
        for (auto & i : vec)
            os << std::setw(2) << i;
        os << '\n';
    }

    // or:

    //for (vector2d::const_iterator i = v.begin(); i != v.end(); ++i)
    //{
    //    for (std::vector<int>::const_iterator j = i->begin(); j != i->end(); ++j)
    //        os << std::setw(2) << *j;
    //    os << '\n';
    //}

    // or:
    //for (unsigned i = 0; i < v.size(); ++i)
    //{
    //    for (unsigned j = 0; j < v[i].size(); ++j)
    //        os << std::setw(2) << v[i][j];
    //    os << '\n';
    //}
}

int main()
{
    print(std::cout, CreateVector2d());
}