【发布时间】:2018-09-14 21:22:11
【问题描述】:
我有一个数据文件,其中第一列从 -180 到 +180 不等,宽度为 5,而第二列是一些相应的值。我需要从第二列中找到一个对应值的最小值,首先说-180,打印出来,然后从第二列中找到-175的最小值,然后打印,等等......当我只有一列时,我有代码来查找最小值.我如何包含这个循环
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream myfile("ma3.txt");
if(myfile.is_open())
{
int arrSize=0.0;
double arr[2000];
double min=0;
while(true)
{
double x,y;
myfile>>x;
if(myfile.eof()) break;
arr[arrSize++]=x;
}
//for(int i=0; i<arrSize; ++i)
// cout<<arr[i]<<"";
//cout<<endl;
min=arr[0];
for(int i=0;i<arrSize;i++)
{
{
if(arr[i]<min)
{
min=arr[i];
}
}
}
cout<<"Smallest element:";
cout<<min;
cout<<endl;
}
else
{
cout<<"Unable to open file";
}
return 0;
}
输入数据:
-180 431.845
-180 434.337
-180 436.819
-180 439.289
-180 469.936
-180 472.152
-180 474.343
-180 476.509
-180 478.649
-180 480.761
-180 482.846
-180 484.902
-180 486.929
-180 488.926
-175 387.566
-175 384.891
-175 382.216
-175 379.541
-175 376.868
-175 374.197
-175 371.53
-175 368.867
-175 366.209
-175 363.557
-175 360.912
-175 358.275
-175 355.648
-175 353.03
-175 350.422
-175 347.826
-175 345.243
-175 342.673
-175 340.117
-175 337.576
-175 335.05
-175 332.541
-175 330.05
-175 327.576
【问题讨论】:
-
你能提供一个输入的例子吗?
-
是否允许使用其他容器,例如地图和矢量?
-
如何附加数据文件。输入如-180 431.845 -180 434.337 -180 436.819 -180 439.936 -180 472.152 -180 474.343 -180 476.509 -180 478.649 -180 480.761 -180 482.846 -180 484.902 -180 484.929 -180 486.929 -180 486.929 -180 486.929 -180 486.929 -180 484.929 -180 486.929 -180 486.566 175 384.891 -175 382.216 -175 379.541 -175 376.868 -175 374.175 -175 371.53 -175 368.867 -175 366.209 -175 363.557 -175 360.912 -175 358.275 -175 355.648 -175 355.648 -175 355.648 -175 353.03 -175 353.03 -175 350.422 -175 347.826 -175 345.243 -175 345.243 -175 342.673 -175 -175 340.117 -175 337.576 -175 335.05 -175 332.541 -175 330.05 -175 327.576
-
@ThomasSablik 它实际上是一个向量,我只是为了方便起见将其命名为数组。
-
@MasoomSingh 不,您使用的是数组,而不是向量。要使用容器,您需要相应的头文件,例如
#include <vector>或#include <map>
标签: c++