【发布时间】:2021-08-09 14:17:51
【问题描述】:
我需要找到不在主对角线中的数组中的最小值,我已经编写了一些代码,但它似乎只选择了第二个或最后一个值(取决于哪个是最低的)。
这是我的代码:
#include<iostream>
using namespace std;
int main()
{
int arr[4][2];
int Min,i,j;
cout<<"Type 8 numbers";
for (i=0;i<4;i++)
{
for (j=0;j<2;j++)
{
cin>>arr[i][j];
Min=arr[0][1];
if(i!=j and Min > arr[i][j])
{
Min=arr[i][j];
}
}
}
cout<<"The values of the array are: \n";
for (i=0;i<4;i++)
{
cout<<"\n";
for (j=0;j<2;j++)
{
cout<<arr[i][j]<<"\t";
}
}
cout<<"The lowest value is: "<<Min;
}
如果我输入 1-8,则返回值为 2,如果我输入 8-1,则返回值为 1,在这两种情况下,代码都按我的预期工作,但如果我输入类似 8,6 的内容, 4,1,2,3,4,5,最小值返回为 5,我对编码非常陌生,希望能提供帮助。
【问题讨论】:
-
Min=arr[0][1];应该只执行一次... -
四乘二数组没有“主对角线”,因此不太清楚您要完成什么。