Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在五次数组中查找最大值和最小值_Arrays_Input_Max_Average_Min - Fatal编程技术网

Arrays 在五次数组中查找最大值和最小值

Arrays 在五次数组中查找最大值和最小值,arrays,input,max,average,min,Arrays,Input,Max,Average,Min,我应该在数组中找到最小值和最大值,但我似乎不明白为什么答案不正确。例如,如果我输入“123445”作为我的五次输入,它告诉我1是我的最大值,0是最小值。出于某种原因,无论第一个数字是什么,它都称之为max,并将0指定为min #包括 使用名称空间std; int find_距离(int j)//基于选择j返回距离的函数 intmax,intmin; int main() { int i=0; 整数距离[6]; 双数据[6][5]; 对于(int j=0;j

我应该在数组中找到最小值和最大值,但我似乎不明白为什么答案不正确。例如,如果我输入“123445”作为我的五次输入,它告诉我1是我的最大值,0是最小值。出于某种原因,无论第一个数字是什么,它都称之为max,并将0指定为min

#包括
使用名称空间std;
int find_距离(int j)//基于选择j返回距离的函数
intmax,intmin;
int main()
{
int i=0;
整数距离[6];
双数据[6][5];
对于(int j=0;j<6;j++)
{
距离[j]=查找距离(j);

cout最小值为0,因为初始化intmin时,默认设置为0。您从不输入负时间,因此在比较中,它总是小于比较值。
最大值已关闭,因为for循环以奇数结尾,并且比较代码执行不正确。更改此代码:

for(int j = 0; j < 6; j++)
{
  cout << "\nDistance : " << distance[j] << " m \n";

for(int i = 0; i < 5; i++)
{
system ("pause");
cout << data[j][i] << "\t"; } cout << endl; //why does the for loop end here?

if (data[j][i] < intmin) 
intmin = data[j][i]; 
else if (data[j][i] > intmax) 
intmax = data[j][i]; 

            //move the end bracket to this line and it should work

cout << "The maximum time is: " << intmax << endl;
cout << "The minimum time is: "<< intmin << endl;
}
for(int j=0;j<6;j++)
{
只是为了练习:

#包括
#包括
#包括
#包括
int main(){
使用名称空间std;
字符串输入;
boost::regex re(“-?\\d+”);
向量整数;

为什么不对值进行排序并找到第一个和最后一个元素?@nitinsh99,因为这将使其成为O(logn)而不是O(n)?可能在非常短的数组中,这无关紧要,但我感觉这里有一个家庭作业,OP可能会想出一个比给定的更一般的解决方案。可能是@wvxvw的重复,你的意思是“o(nlogn)”对吗?@nitinsh99是的,这是一个输入错误。