任务描述 设二维数组a[1..m, 1..n] 含有m*n 个整数。写一个算法判断a中所有元素是否互不相同。 编程要求 输入 多组数据,每组数据有m+1行,第一行为二维数组的行数m和列数n,之后m行为输入的二维数组。当n=0且m=0时输入结束。 输出 对于每组数据分别输出一行,若二维数组中存在相等元素则输出“YES”,否则输出“NO”。 测试输入: 4 3 1 2 3 4 5 6 7 8 9 10 11 12 3 4 1 2 3 4 5 6 7 8 1 9 10 11 0 0 预期输出: NO YES 补充代码 #include<iostream> #define MAXSIZE 124 using namespace std; int IsEqual(int a[MAXSIZE][MAXSIZE],int m,int n) {//判断a中所有元素是否互不相同,存在相等元素则返回1,输出“YES”,否则返回0,输出“NO” }
时间: 2024-02-11 22:08:53 浏览: 124
下面是完整的C++代码实现,其中实现了IsEqual函数,并在main函数中处理多组数据输入:
```
#include<iostream>
#define MAXSIZE 124
using namespace std;
int IsEqual(int a[MAXSIZE][MAXSIZE], int m, int n) {
int vis[MAXSIZE * MAXSIZE] = {0};
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
if (vis[a[i][j]]) return 1;
vis[a[i][j]] = 1;
}
}
return 0;
}
int main() {
int a[MAXSIZE][MAXSIZE], m, n;
while (cin >> m >> n) {
if (m == 0 && n == 0) break;
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
cin >> a[i][j];
}
}
if (IsEqual(a, m, n)) cout << "YES" << endl;
else cout << "NO" << endl;
}
return 0;
}
```
在上面的代码中,IsEqual函数用于判断二维数组中所有元素是否互不相同。我们利用一个vis数组,记录每个元素是否出现过。在遍历二维数组时,如果当前元素已经在vis中出现过,则说明二维数组中存在相等元素,返回1。否则,将当前元素标记为出现过,继续遍历。最后,如果所有元素都没有重复出现,则返回0。
在main函数中,我们通过多次读入数据进行处理,并根据IsEqual函数的返回值输出结果。
最后,如果需要在命令行下运行该程序,可以按以下方式编译:
```
g++ -o main main.cpp
```
然后输入以下命令运行程序:
```
./main
```
程序将提示输入数据,输入完毕后按Ctrl+D结束输入。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)