在二维数组c++中找到绝对最大值
Find absolutely max value in 2D array c++
我为它编写了程序,但有时我会得到错误的答案。请帮我(x和y是索引)
int main()
{
int a[1000][1000];
int n,m,i,j,max,k,max1,x,y;
cin>>n>>m;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
cin>>a[i][j];
}
}
max=a[0][0];
max1=abs(max);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(abs(a[i][j])>=max1)
{
max=a[i][j];
k=max; x=i; y=j;
}
}
}
cout<<k<<endl<<x<<" "<<y;
}
您没有在if条件内更新max1。
您的逻辑有些不清楚。你为什么为绝对价值而烦恼?如果您想要具有最高绝对值的值,那么您应该在for循环中更新max1
,因为您正在使用它来决定是否需要新值。
if(abs(a[i][j])>=max1)
{
max=a[i][j];
k=max; x=i; y=j;
max1=abs(a[i][j]); //update the absolute value max
}
for (j = 0; j<m; j++
if (abs(a[i][j]) >= max1)
max = a[i][j];
k = max; x = i; y = j;
}
cout << k << endl << x << " " << y;
}
更改:if(abs(a[i][j])>=max1)------>max1=a[i][j]。你每次都会将abs ti与不变的固定数字max1进行比较。
相关文章:
- 将值从二维数组输出到文本文件
- 在二维数组中查找最小值和最大值?
- C++ 中的二维数组初始化为一个值
- 如何在二维数组中存储值?
- 为什么我需要三个嵌套的大括号来调用赋值运算符,将const引用到二维数组
- 从二维数组中查找最小值和最大值
- 我们可以在 C++ 编程中使用的二维数组的最大大小是多少?
- 我如何使用此二叉搜索函数的修改后的最大/最小值创建新数组
- 二维数组中数字的最大显示数
- C++在二维数组中寻找局部最大值
- 二维数组的最小/最大元素
- 我无法让我的程序正确读取输入文件中的值(二维数组)
- C++:二维数组,如何找到列中差异最大的行
- 如何在二维数组的一行中找到最大的总和
- 在二维数组c++中找到绝对最大值
- C++在二维数组中的每一行和每一列中查找最小值和最大值
- 如何在二维数组(c++)中找到N个最小值
- 在二维数组的矩形区域内查找最大值的快速方法
- 大0插入二维数组
- 在二维数组中寻找最大值的快速算法