按地区列出的美国州名单,如何根据用户的3个输入读取文件并选择最大状态?

问题描述 投票:0回答:1

我想读取一个按陆地面积按顺序排列所有状态的文件。我希望用户输入3个状态,程序确定三个状态中的最大状态。我该怎么做呢

c++ eclipse
1个回答
1
投票

基本上你需要做的是读取你的文件(状态已经按区域排序)。按正确的顺序从该文件中填充一个数组,然后进行线性搜索,找到输入中给出的状态顺序。然后将它们存储在在另一个数组中并比较它们的值。然后输出具有最大区域的元素。

这样的事情。

#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;

}

© www.soinside.com 2019 - 2024. All rights reserved.