C++如何判断一个3*3的二维数组内的数是否是从0到8的的数字是否是连续的
时间: 2024-11-20 11:44:11 浏览: 8
在C++中,判断一个3x3的二维数组内数字是否从0递增到8并且连续,你可以遍历数组并检查相邻元素之间的差是否始终为1。这里有一个简单的示例:
```cpp
#include <iostream>
using namespace std;
bool isConsecutive(int arr[3][3], int size) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i > 0 && arr[i][j] != arr[i - 1][j] + 1) return false;
if (j > 0 && arr[i][j] != arr[i][j - 1] + 1) return false;
}
}
// 检查最后一个数字是否为8
if (arr[size - 1][size - 1] != 8) return false;
return true;
}
int main() {
int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 0} }; // 示例数组
int size = 3;
if (isConsecutive(arr, size)) {
cout << "数组内的数字是从0到8连续的" << endl;
} else {
cout << "数组内的数字不是从0到8连续的" << endl;
}
return 0;
}
```
这个函数`isConsecutive`会检查每一行、每一列以及对角线上的相邻数字差异,如果发现有任何不符合规律的地方,就立即返回false;如果整个数组都满足条件,最后才会返回true。
阅读全文