我想读取一个按陆地面积按顺序排列所有状态的文件。我希望用户输入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;
}