如何在c++中使用函数打印2d数组
How to print out 2d arrays with function in C++?
我正在尝试制作一个打印出二维数组的函数。我做了一个打印1d数组的程序。
#include <iostream>
using namespace std;
void printArray (int theArray[],int sizeOfArray);
int main ()
{
int array1[3] = {1,3,7};
int array2[5] = {123,5,23,2,324};
printArray(array1, 3);
printArray(array2, 5);
}
void printArray (int theArray[],int sizeOfArray){
for (int x=0; x<sizeOfArray; x++) {
cout<<theArray[x] <<" ";
}
cout<<endl;
}
我写了这些代码来打印2d数组,但是我失败了。
#include <iostream>
using namespace std;
void printArray (int theArray[][],int sizeOfRow, int sizeOfCol);
int main ()
{
int array[2][3] = {{1,3,7},{5,3,2}};
printArray(array, 2,3);
}
void printArray (int theArray[][],int sizeOfRow, int sizeOfCol){
for (int x=0; x<sizeOfRow; x++)
for (int y=0; y<sizeOfCol; y++) {
cout<<theArray[x][y] <<" ";
}
cout<<endl;
}
我的编译器说数组有不完整的元素类型'int[]'。打印2d数组的正确代码是什么?
由于数组大小必须在编译时知道,因此可以使用模板为函数提供灵活性。
template< typename T, size_t N, size_t M >
void printArray( T(&theArray)[N][M] ) {
for ( int x = 0; x < N; x ++ ) {
for ( int y = 0; y < M; y++ ) {
cout << theArray[x][y] << " ";
}
}
}
printArray( array );
这是更好的,因为没有必要传递数组的尺寸任何地方,也为3D, 4D数组通过添加额外的参数到模板。
对于多维数组,您需要在函数声明中声明数组的大小。
所以你的方法需要看起来像:
void printArray (int theArray[][3],int sizeOfRow, int sizeOfCol)
打印二维数组的提示——使用变量r和c(即行和列)来可视化数组是如何打印出来的更容易。
如上所述,在传递2d数组时,语言需要列的大小。
函数头应该如下所示:
void printArray (int theArray[][3],int sizeOfRow, int sizeOfCol)
相关文章:
- 如何使用重新定义的打印函数打印Lua表?
- 从函数打印 CLI 帮助消息后,我应该如何干净地退出 C++ 程序?
- 使用成员函数打印对象
- 函数打印输出C 的错误
- 函数打印奇怪的值.C++
- Std::copy 和 std::ostream_iterator 使用重载函数打印值
- C++ 通过函数打印出 2D 数组
- 使用模板函数打印智能指针矢量
- C 是否可以使用宏从称呼的地方进行类函数打印
- infix/postfix/prefix程序.想要使用我的printresult()函数打印结果.需要帮助获得输出
- 从 Main 中的双指针函数打印出指针数组
- 如何使用递归函数打印节点树
- 重载函数打印
- 尝试通过函数打印时"Garbage" 2D 数组中的值
- 如何通过包含要打印的字符串的类函数打印异常
- 从函数C++打印出 2D 数组
- 如何通过wprintf函数打印uint32_t变量值
- 为什么我的函数打印地址而不是数组的内容
- 为什么这个函数打印的是x而不是1
- 将函数打印到输出文件