标签: 2d-vector

在c ++中分配二维向量

#include<bits/stdc++.h>
using namespace std;
main()
{
    vector<vector<int> > v;
    for(int i = 0;i < 3;i++)
    {
        vector<int> temp;
        for(int j = 0;j < 3;j++)
        {
            temp.push_back(j);
        }
        //cout<<typeid(temp).name()<<endl;
        v[i].push_back(temp);
    }
 }
Run Code Online (Sandbox Code Playgroud)

我正在尝试分配一个二维向量.我收到以下错误

No matching function for call to 
std ::vector<int>::push_back(std::vector<int> &)
Run Code Online (Sandbox Code Playgroud)

c++ 2d-vector

4
推荐指数
3
解决办法
4026
查看次数

用C++初始化2d向量

我知道您可以通过以下方式初始化具有某个值的1d向量:

vector<int> vec(10, 100); //creates a vector of size 10 and each element = 100
Run Code Online (Sandbox Code Playgroud)

现在我想用2d矢量做同样的事情.我知道以下内容会产生错误,因为未指定列的大小:

vector<vector<int> > vec(10, 100);
Run Code Online (Sandbox Code Playgroud)

那么,有什么方法可以实现这一目标吗?此外,我想保持2d向量中每个向量的列大小相同(即nxn网格).

或者也许我可以用某种方式使用"std :: fill()"函数来实现这个目的?这个功能可以扩展到nxm网格吗?

c++ stl vector 2d-vector

3
推荐指数
1
解决办法
2849
查看次数

如何在 2d 向量上进行 memset

所以我在这里有一个 2D 向量,我想为其分配一个值 num,我想看看作为 C++ 菜鸟的填充与 memset() 哪个更好,我实际上在设置正确的代码语法时遇到了问题,因为我总是在以下情况下遇到分段错误我做。

vector<vector<int>> matrix(10, vector<int>(10000000));
int main()
{
    int num;
    cin >> num;
    int i = 0;
    for (auto &i : matrix)
    {
        fill(i.begin(), i.end(), num); 
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ memset fill 2d-vector

2
推荐指数
1
解决办法
3537
查看次数

在C++中输出二维向量

我一直在关注如何使用C++输出二维向量的教程,并得出以下代码:

#include <iostream>
#include <vector>
using namespace std;

int main()
{

    vector < vector < int > > test { { 1, 2, 3,
                                       4, 5, 6,
                                       7, 8, 9  } };

    for( unsigned int i = 0; i < test.size(); i++ )
    {
        for( unsigned int j = 0; j < test[i].size(); j++ )
        {
            cout << test[i][j] << " ";
        }
        cout << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

产生以下输出:

1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我的结果看起来并不完全符合预期; 我希望能够将矢量输出到二维网格状空间.据我所知,我的代码遵循示例,但是 …

c++ 2d-vector

2
推荐指数
1
解决办法
91
查看次数

仅使用 1 行 C++ 初始化二维向量

我需要能够在创建它的同一行初始化int 的二维向量。

更具体地说,我必须创建一个3x2大小的 2D 向量,并仅使用1 行代码将其所有值设置为 0 。

有没有一种方法可以在不使用 for 循环和几行代码的情况下完成?

c++ initialization 2d-vector

1
推荐指数
1
解决办法
6876
查看次数

c ++如何按每行列中的值对2d Vector的行进行排序

目标:我有一个2d矢量.我想按照第4栏中的值对其进行排序.例如,我想对此向量进行排序:

vector<vector<double>> vector1 = {{4,3,5,3}, 
                                  {2,6,3,7}, 
                                  {6,8,5,1}, 
                                  {5,6,1,5}};
Run Code Online (Sandbox Code Playgroud)

我想按第4列中的值对其行进行排序,以便它在行中的元素位置不变,但是向量中的行位置会被更改,以便第4列中的元素按以下顺序排列:

 vector1 = {{6,8,5,1},
            {4,3,5,3},
            {5,6,1,5},
            {2,6,3,7}};
Run Code Online (Sandbox Code Playgroud)

我假设我将不得不使用sort(),但在网上搜索后,我仍然完全不知道如何去做,所以任何直接帮助代码甚至指向网站或资源的方式都将非常感激.谢谢!

c++ sorting vector 2d-vector

0
推荐指数
1
解决办法
1659
查看次数

"蛇"运行错误

我正在用c ++制作一个简单的蛇游戏.它编译,但不会运行.我在mac上使用netbeans,我以前从来没有这样的问题,所以我认为这是我的代码的问题:

#include <vector>
std::vector<std::vector<int> > snake;//the snake
int main(){
    snake[0][0]=0;
}
Run Code Online (Sandbox Code Playgroud)

我认为它可能是2d矢量的问题.

c++ runtime-error 2d-vector

-1
推荐指数
1
解决办法
121
查看次数

标签 统计

2d-vector ×7

c++ ×7

vector ×2

fill ×1

initialization ×1

memset ×1

runtime-error ×1

sorting ×1

stl ×1