如何输入一个3*3的数字矩阵,并判断其中是否有相同的数
时间: 2024-09-18 19:15:56 浏览: 28
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
在控制台上输入一个3x3的数字矩阵并判断其中有无相同的数字,通常需要用户交互和一些基本的数据结构处理。以下是使用C++编写的一个简单示例,它提示用户逐行输入数字,然后检查矩阵是否包含重复的数字:
```cpp
#include <iostream>
#include <vector>
#include <unordered_set>
std::vector<std::vector<int>> inputMatrix() {
std::vector<std::vector<int>> matrix(3);
for (int i = 0; i < 3; ++i) {
std::vector<int> row(3);
for (int j = 0; j < 3; ++j) {
std::cout << "请输入第" << (i+1) << "," << (j+1) << "个元素: ";
cin >> row[j];
}
matrix[i] = row;
}
return matrix;
}
bool checkDuplicates(const std::vector<std::vector<int>>& matrix) {
std::unordered_set<int> numSet;
for (const auto& row : matrix) {
for (int num : row) {
if (numSet.find(num) != numSet.end()) {
return true;
} else {
numSet.insert(num);
}
}
}
return false;
}
int main() {
const auto matrix = inputMatrix();
if (checkDuplicates(matrix)) {
std::cout << "矩阵中有相同的数字。\n";
} else {
std::cout << "矩阵中没有相同的数字。\n";
}
return 0;
}
```
在这个程序中,我们首先定义了一个函数`inputMatrix()`用于接收用户输入的3x3矩阵,然后通过`checkDuplicates()`函数检查是否有重复数字,如果存在则返回true,否则返回false。
阅读全文