永发信息网

java程序中关于二维数组的计算题目

答案:3  悬赏:60  手机版
解决时间 2021-05-05 22:27

求矩阵中所有马鞍点的个数

马鞍点就是在M*N矩形A中,如果元素A(i*J) 注(i*J)是A的下标 ,我打不出来下标,是行中最小值又是列中最大值,A(i*J)就是这个矩阵的一个马鞍点

假设已给出一个4行5列的二维数组,如下

int a[][]={{1,2,3,4,5,},{7,3,4,5,6},{2,1,5,4,3},{5,3,6,5,4}};

请编程求出所有马鞍点

老师做了一点提示,先找行中的最小值,再找列中的最大值,但是我还是不懂。。

我觉得很难。。。期待有高手帮助

最佳答案

初步判断 任何矩阵马鞍点只能有一个 所以一旦发现即可跳出循环


public class Hello {
public static void main(String[] args) {

int a[][]={{10,20,30,40},
{500,38,37,200},
{300,36,34,600},
{4,5,5,7}};
int max=0,min=1000;
int x,y=0;
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
if(a[i][j]<min){
min=a[i][j];
y=j;
x=i;
}
}
for(int j=0;j<4;j++){
if(a[j][y]>max)
{
max=a[j][y];
}
}
if(max==min)
{
System.out.println(max);
break;

}else{


max=0;
min=1000;
}
}


}


}


全部回答
public class AnDian { public static void anDian(int [][] a){ for (int i = 0; i < a.length; i++) { int k = 0 ; int kk = 0 ; int min = 0 ; int max = 0 ; min = a[i][0]; for (int j = 0; j < a[i].length; j++) { if(a[i][j]<min){ min = a[i][j]; k = j ; } } max = a[0][k]; for (int j = 0; j < a.length; j++) { if(a[j][k]>max){ max = a[j][k]; kk = j ; } } if(i==kk){ System.out.print(i + " "+ k + " "+ a[i][k] + " "); } } } public static void main(String[] args) { int a[][]={{1,2,3,4,5},{7,3,4,5,6},{2,1,5,4,3},{5,3,6,5,4}}; anDian(a); } }

这是我以前用C语言做的改了一下符合你的要求,你参看着想象你的JAVA,编程都是一样,主要是思想,你应该学了C语言了吧。

#include<stdio.h> #define sz 30 void f(int a[][],int n); int main() { int i,j,size, array[sz][sz]; printf("please input array 大小 size:\n"); scanf("%d",&size); printf("please input array[][]:\n"); for(i=0;i<size;i++) for(j=0;j<size;j++) scanf("%d",&array[i][j]); f(array,size); return 0;

} void f(int a[][],int n) { int i,j,k,x,y,min,max,rowx,count=0; for(i=0;i<n;i++) { min= a[i][0]; for(j=0;j<n;j++) { if( a[i][j]<min) { min= a[i][j]; x=i; y=j; } rowx=x; max= a[x][y]; for(k=0;k<n;k++) { if( a[k][y]>max) { max= a[k][y]; x=k; } } } if(rowx==x) { count++; printf("array's %d row %d scol 鞍点值:%d.\n",x,y, a[x][y]); } } printf("鞍点总数为: %d\n",count); }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
戒烟的好方法是什么?
弦月梦影具体在哪个电视台播
大话西游,怎样能赚钱?
形容脚步的句子
CF什么时候封??
初恋难一起
雅特制衣厂在什么地方啊,我要过去处理事情
有什么搞笑的东东
甘肃天水的灾情
QQ需要多少级才能建群?
全自动洗衣机显示c3是什么意思
企业春节祝福短信,求一条节日祝福短信…发给
传销和直销差别在哪
剑魂和狂战士单刷哪个好?
牛肉丝怎样炒口感嫩
推荐资讯
步步高v100手机要怎么下载主题
植物有智商吗?什么花智商最高?
太阳一下,我在烽火战国的家族族长是谁?
老传奇开场音乐
有一部吸血鬼的动画片叫什么名字来着?忘记了
日本十大悲惨动画片都有哪些
寻仙50法宝要多少石头点亮?
谁有鬼畜眼睛的游戏
白手PK怎么加点,纯PK。最好给个图
汪志海口腔诊所在哪里啊,我有事要去这个地方
儿童发烧吃什么药比较快好
网购车险的程序是什么?安全吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?