在一个100*100的网格中有随机0-100的数字,如何找出阈值为90的网格的范围。应用vs+QT实现
时间: 2024-03-28 18:41:34 浏览: 63
首先,我们需要读取100*100的网格数据,并存储在一个二维数组中。然后,我们可以使用双重循环遍历整个数组,找到数值大于等于90的网格。一旦找到这样的网格,我们需要记录下它的位置,以便最后输出范围。
以下是使用VS+QT实现的代码示例:
```c++
#include <iostream>
#include <vector>
#include <QString>
#include <QFile>
#include <QTextStream>
using namespace std;
int main()
{
// 读取网格数据
int grid[100][100];
QFile file("grid.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return -1;
QTextStream in(&file);
for (int i = 0; i < 100; i++) {
QString line = in.readLine();
QStringList values = line.split(",");
for (int j = 0; j < 100; j++) {
grid[i][j] = values[j].toInt();
}
}
// 找到阈值为90的网格范围
vector<pair<int, int>> range;
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
if (grid[i][j] >= 90) {
range.push_back(make_pair(i, j));
}
}
}
// 输出范围
if (range.empty()) {
cout << "没有找到阈值为90的网格!" << endl;
} else {
cout << "阈值为90的网格范围为:" << endl;
for (auto p : range) {
cout << "(" << p.first << ", " << p.second << ")" << endl;
}
}
return 0;
}
```
在此示例中,我们将网格数据存储在名为"grid.txt"的文本文件中,其中每个数值之间用逗号分隔。我们使用QFile和QTextStream读取这个文件,并将数据存储在一个二维数组中。然后,我们使用双重循环遍历整个数组,找到数值大于等于90的网格,并将它们的位置存储在一个vector中。最后,我们输出这些网格的位置,以便用户查看。
注意:此示例中的代码仅为演示用途,可能需要根据实际情况进行修改。
阅读全文