向量/数组中的点位置
Point position in a vector/array
我正在写一个c++代码,使用向量/数组内的元素。我所做的就是在我的主代码之外创建一个vector:
const int Lx = 4, Ly = 4;
const int L = Lx*Ly;
inline void vector_lattice(){
for (int i = 0; i < L+1; i++){
s[i]=0.0;
}
for (int i = 0; i < L; i++){
s[i] =1;
}
}
Lx和Ly将给我维度,因为最终我将把它变成一个5x5的数组。
在我的问题中,这将给我一组"空间"中的位置,它应该有一个输出看起来像
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
但是我现在需要像
这样的东西 . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
或者灵活地改变这些位置,但我真的不知道如何做到这一点,因为我只能是一个整数,因此我的位置和宇航员的位置总是相同的。有谁知道怎么做吗?
给它一些抽象。定义Specimen
类并存储这些类的对象,而不是int
类或其他您正在使用的对象:
class Specimen {
// Your Specimen class definition here, all specimens should inherit from it.
}
class EmptySpecimen : public Specimen {
// Nothing here other than overriden virtual methods.
}
class SomeSpecimen : public Specimen {
// Actual specimen implementation.
}
然后在后面的代码中,你可以使用:
初始化vectorsize_t width, height; // assign some values to these
vector< vector <Specimen*> > specimensMatrix;
specimensMatrix.resize(width);
for (size_t x = 0; x < width; ++x) {
specimensMatrix.resize(height);
}
按你期望的方式填充它:
for (size_t x = 0; x < width; ++x) {
for (size_t y = 0; y < height; ++y) {
if (x % 2 == 0) {
if (y % 2 == 0) {
specimensMatrix[x][y] = new SomeSpecimen(/* ... */);
else
specimensMatrix[x][y] = new EmptySpecimen();
}
else {
if (y % 2 == 0) {
specimensMatrix[x][y] = new EmptySpecimen();
else
specimensMatrix[x][y] = new SomeSpecimen(/* ... */);
}
}
}
所以你的对象大小为8x6的矩阵看起来像这样(E
为EmptySpecimen
, S
为SomeSpecimen
):
SESESESE
ESESESES
SESESESE
ESESESES
SESESESE
ESESESES
或者,如果您将E
替换为空格,S
替换为点:
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
相关文章:
- 我的目标是编写一个程序来计算和存储字符串在字符数组中出现的位置
- 如何在数组中交换最小和最大的位置?
- C++ 2D 数组写入多个位置
- C++指针数组到字符数组中的特定位置
- 递增 'int i = 0' 以在初始化的字符数组的位置递增
- 数组中所有元素的最新最小元素的第五个位置
- 关于引用数组位置的问题
- 在给定元素在螺旋上的位置的情况下,在二维数组中查找元素
- 创建 2D 数组0xCCCCCCCC访问冲突写入位置
- 如何计算 3d 数组中的索引值在内存中的位置?如何计算字符**中的索引值在内存中的位置?
- 如何在 3x4 数组中随机 4 个不同的位置
- C++不同内存位置中的默认数组值
- 使用动态数组访问冲突写入位置
- C++访问冲突读取位置0xDDDDDDCD当我尝试删除已更新的数组时
- C++将可变数量的位置从给定数组传递到函数
- 在不同位置渲染相同精灵的数组
- 有没有办法汇总数组的位位置
- 如何查找数组中所有重复元素的位置
- 在给定的整数数组中,可以找到在给定位置之间分类数组的整数之和
- C++ 在不同位置具有不同数据类型的多维数组