我想读取一个文件,其中包含按土地面积排序的所有州。我想让用户输入3个状态,程序决定这三个状态中最大的一个。我该怎么做。
最佳答案
基本上你需要做的是读取你的文件(状态已经按区域排序)。以正确的顺序从该文件中填充一个数组,然后进行线性搜索以找到输入中给出的状态是按顺序排列的。然后将它们存储在另一个数组中并比较它们的值。然后输出面积最大的元素。
像这样。
#include <iostream>
#include <fstream>
using namespace std;
int main() {
string var,states[50],input[3];
int count=0,arr[3];
ifstream file;
for(int i=0;i<3;i++) {
getline(cin,input[i]);
}
// search area wise from file
file.open(/*location of the .txt file*/);
while(getline(file,var)) {
states[count] = var;
count++;
}
// do a linear search
for(int i=0;i<3;i++) {
for(int j=0;j<50;j++) {
if(states[j] == input[i])
arr[i] = j;
}
}
if(arr[0] > arr[1] && arr[0] > arr[2]) cout << states[0] << endl;
else if(arr[1] > arr[1] && arr[1] > arr[2]) cout << states[1] << endl;
else if(arr[2] > arr[0] && arr[2] > arr[1]) cout << states[2] << endl;
return 0;
关于c++ - 按地区列出的美国各州列表,如何读取文件并根据用户的 3 个输入选择最大的州?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49102744/