两个不同尺寸的硬编码阵列组成一个二维矢量
Two Hard-coded Arrays OF DIFFERENT SIZES into One 2-Dimensional Vector
我意识到,如果我想让"valArray"填充到"COLUMN 0,0"的右边,我应该放"[j][1]",然而,当我这样做的时候,我总是会得到一个错误
输出:----------------------------------------------------------------------------------------------------------------------------------------------------55 0 0 0 0------------------------------------------------------------------------------------------------1 2 3 4 5 6 7 8 9 10 10 11——这是第2排-----------------------------------------------------------------------------------------------77 0 0 0 0------------------------------------------------------------------------------------------------88 0 0 0 0-----------------------------------------------------------------------------------------请告知如何正确填充,谢谢。
#include <iostream>
#include <vector>
#include <Windows.h>
#include <algorithm>
using namespace std;
int main()
{
int typeArray[4] = {55,66,77,88};
int valArray[13] = {1,2,3,4,5,6,7,8,9,10,10,10,11};
// for vector: 4 = LENGTH or NUMBER of ROWS; 13 = WIDTH or NUMBER of COLUMNS;
// 0 = VALUE all cells are initialized to
vector< vector <int> > myVector(4, vector<int> (13,0));
for (int i = 0; i < 4; i++)
{
myVector[i][0] = typeArray[i];
for (int j = 0; j < 13; j++)
{
myVector[1][J] = valArray[j];
}
}
// print vector to screen with 2 ROWS, 3 COLUMNS
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 13; j++)
{
cout << myVector[i][j] << ' ';
}
cout << 'n';
}
system("Pause");
return 0;
}
一个问题是循环应该一直到sizeof(typeArray)/sizeof(typeArray[0])
而不是sizeof(typeArray)
。Sizeof只是以字节为单位给出数组的大小。你需要把它除以每个元素的大小,才能得到元素的数量。
至于如何组合数组,我认为您对for循环有正确的想法,只需手动分配值。
示例psuedo代码:
for each element in typeArray
myVector[i][0] = typeArray[i];
myVector[i][1] = valArray[i];
您的代码无法工作的原因是您没有为myVector分配任何值。
假设typeArray和valArray的长度相同,并且您想将它们分别放在一列中,请尝试类似于以下的方法
for (int j = 0; j < sizeof(typeArray)/sizeof(int); j++)
{
myVector[j][0] = typeArray[j];
myVector[j][1] = valArray[j];
}
- 为什么一个二维阵列会导致赛段故障,而另一个则不会导致?
- 如何在Visual Studio C++中声明一个二维字符串数组?
- 使用 Win32 中的 HBITMAP 绘制一个二维数组,C++
- 创建一个二维向量阵列,遍历
- 在C++中将一个二维数组复制到其他未知大小的二维数组
- 是一个二维数组的名称,它在C++中的第一个元素的地址
- 一个二维动态阵列的C++剖分与比较
- 基于另一个二维向量对二维向量进行排序
- 如何设置二维数组一个二维返回
- 两个不同尺寸的硬编码阵列组成一个二维矢量
- 实例化一个二维向量,其中一组对作为单元值
- C++2d地图?就像一个二维数组
- 给定一个二维字符矩阵,我们必须检查给定的单词是否存在于其中
- 当您有一个二维数组(C++)时调用析构函数的正确方法是什么?
- 创建一个二维指针数组
- 从函数返回一个二维数组
- 当我尝试输出一个二维数组时,它输出了错误的数字
- 为什么我可以声明一个二维数组与两个维度大小的变量,但不是新的
- c++函数创建一个二维数组并返回一个指向该二维数组的指针
- 在c++中创建一个二维链表对象