如果我有以下Java代码:
int[][] readAPuzzle()
{
Scanner input = new Scanner(System.in);
int[][] grid = new int[9][9];
for (int i=0; i<9; i++)
for (int j=0; j<9; j++)
grid[i][j] = input.nextInt();
return grid;
}
public static void main(String[] args) {
// Read a Sudoku puzzle
int[][] grid = readAPuzzle();
}
Run Code Online (Sandbox Code Playgroud)
如何将其转换为C++?我挂断了传递数组.这是我的尝试:
#include <iostream>
using namespace std;
const int puzzle_width = 9;
const int puzzle_height = 9;
void readAPuzzle(int (&grid)[puzzle_height][puzzle_width])
{
for(int i = 0; i < 9; i++)
for(int j = 0; j < 9; j++)
grid[i][j] = cin >> grid[i][j];
return;
}
int main()
{
int[9][9] grid;
readAPuzzle(grid);
}
Run Code Online (Sandbox Code Playgroud)
我一般做错了什么?
您需要将输入文本读入数组grid并传递给它.
grid[i][j] = cin >> grid[i][j];
Run Code Online (Sandbox Code Playgroud)
不执行您的想法,它会尝试将类型的对象分配istream给grid[ i ][ j ]
cin >> grid[i][j];
Run Code Online (Sandbox Code Playgroud)
但是足够了.
另外,请注意,在C++中,维度遵循标识符,如下所示:
int grid[9][9];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
224 次 |
| 最近记录: |