打印函数多维数组,当存在2个不同大小的c++
Print Function multi-dimensional Arrays when 2 different sizes exists C++
我有一个问题,创建一个PRINT函数,我将能够多次运行不同的数组大小。我将使用这个作为示例。
飞机座位表:
2 sections
-First Class
--5 rows
--2 columns
---2 seats/column
-Coach Class
--5 rows
--2 columns
---3 seats/column
视觉:示例-飞机座位表
问题1:我怎样才能把这个打印出来?
问题2:我如何创建一个函数来多次传递这个?
有问题的代码(从2d角度)
#include <iostream>
#include <iomanip>
using namespace std;
const int COLS = 4;
const int ROW1 = 3, ROW2 = 4;
void showArray(const int [][COLS],int);
int main()
{
int table1 [ROW1][COLS] = {{1,2,3,},{6,7,8,9}};
int table2 [ROW2][COLS] = {{9,8,7,6},{5,4,3,2}};
cout << "Table 1 Array: n" << endl;
showArray(table1,ROW1);
cout << "Table 2 Array: n" << endl;
showArray(table2,ROW2);
return 0;
}
void showArray (const int array[][COLS], int rows)
{
for(int x = 0; x < rows; x++)
{
for (int y = 0; y < COLS; y++)
{
cout << setw(4) << array[x][y] << " ";
}
cout << endl;
}
}
上面的代码是一个例子,如果需要确定行数的#,我需要做什么....正确吗?
现在我知道代码没有给我正确的输出因为它把0放在了空位置我知道这是对y(或COLS)循环4次当x没有第4个值时
关于如何创建一个可以多次使用不同数组大小的函数而不是给我0的任何想法?
在这个特殊的例子中,我可以给"行"赋一个CONST INT值,因为本质上它们是两个数组,每组5个,但是如果我把每个座位算作新列,它们的Y(列)值就会不同。
除非有办法,我可以保持相同的列数(2),并在每列中显示多个座位,无论它们是头等舱还是经济舱。
任何想法都会很棒。我很感谢你们的帮助!
如果这不是你想要的,请告诉我。下面是一个示例,说明如何打印任意大小的多维数组。对于这个例子,我使用std::vector
作为容器。请注意,这是c++ 11,它不能在c++ 98中编译(如果你想用c++ 98编译器编译这段代码,你需要使用迭代器而不是基于范围的for循环)
#include <iostream>
#include <vector>
void show(const std::vector<std::vector<int>>& matrix)
{
for(auto& vector : matrix) {
for(auto& element : vector) {
std::cout << element << " ";
}
std::cout << std::endl;
}
}
int main()
{
std::vector<std::vector<int>> matrix1;
matrix1.push_back({1,2,3});
matrix1.push_back({4,5,6});
matrix1.push_back({7,8,9});
std::vector<std::vector<int>> matrix2;
matrix2.push_back({1,2,3,4,5});
matrix2.push_back({6,7,8,9,10});
std::cout << "Matrix1: " << std::endl;
show(matrix1);
std::cout << "Matrix2: " << std::endl;
show(matrix2);
}
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 如何在C++中从两个单独的for循环中添加两个数组
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 处理多个异常集合的C++方法
- 什么时候在C++中返回常量引用是个好主意
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 尝试通过多个向量访问变量时,向量下标超出范围
- Ardunio UNO解决了多个重叠的定时器循环
- 如何返回一个类的两个对象相加的结果
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 数到第n个楼梯的路(顺序无关紧要)
- 基于多个条件处理地图中的所有元素
- 为多个会话保留XPtr
- 如何在C++中初始化嵌套类中的2个memeber
- 运算符C++ "delete []"仅删除 2 个前值
- IPC使用多个管道和分支进程来运行Python程序