如何手动输入数据矩阵?

发布于 2024-11-08 15:12:21 字数 413 浏览 1 评论 0 原文

我只想使用 C++ (g++ 4.1.2) 在矩阵中进行硬编码,默认情况下我使用 std::vector 的 std::vector 。

我的猜测是这可以在一行中完成,我只是不知道正确的语法。

例如:

(1,2,5)

(9,3,6)

(7,8,4)

我认为可能是这样的 -

  vector<int> v1(1,2,3);
  vector<int> v2(4,5,6);
  vector<int> v3(7,8,9);
  vector<vector<int>> vA(v1,v2,v3);

通常,我会从文本文件中读取此信息,但我需要手动输入数字,我必须使用 g++ 4.1.2

I just want to hard code in a matrix using C++ (g++ 4.1.2), by default I went with a std::vector of std::vectors.

My guess is this can be done in one line I just don't know the correct syntax.

For example:

(1,2,5)

(9,3,6)

(7,8,4)

I thought it might be something like this -

  vector<int> v1(1,2,3);
  vector<int> v2(4,5,6);
  vector<int> v3(7,8,9);
  vector<vector<int>> vA(v1,v2,v3);

Normally, I wold read this info out of a text file, but I need to manually put in the numbers by hand and I have to use g++ 4.1.2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

断念 2024-11-15 15:12:21

如果您不打算更改此矩阵的大小或形状,并且由于您无论如何都对值进行硬编码,那么使用普通的旧数组可能会更好:

int matrix[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

否则, Fred Nurk 的答案就是您所寻找的 为了。

If you're not going to change the size or shape of this matrix and since you're hard-coding the values anyway, you may be better with a plain old array:

int matrix[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

Otherwise, Fred Nurk's answer is what you are looking for.

没︽人懂的悲伤 2024-11-15 15:12:21

最简单的方法是最简单的(没有 C++0x):

vector<vector<int> > v (3);
for (int a = 0; a != 3; ++a) {
  v[a].resize(3);
  for (int b = 0; b != 3; ++b) {
    v[a][b] = a * 3 + b + 1;
  }
}

使用 0x 初始化程序,我怀疑 gcc 版本是否支持:

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

The simplest way is the easiest (without C++0x):

vector<vector<int> > v (3);
for (int a = 0; a != 3; ++a) {
  v[a].resize(3);
  for (int b = 0; b != 3; ++b) {
    v[a][b] = a * 3 + b + 1;
  }
}

With 0x initializers, which I doubt that version of gcc supports:

vector<vector<int>> v = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文