网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

请完成下列Java程序:查找一个矩阵中的鞍点,对于一个二维数组中的鞍点,该点位置上的元素在该行上最小,在该列上最大,也可能没有鞍点。数组大小为4行5列。

注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

public class ex30_2 {

public static void main(String[] args) {

int i, j, flag,m=4,n=5;

int[] min=new int [4];

int[] max=new int [5];

int r[] []={{2,5,6,7,9},

{32,65,2,78,12},

{1,8,5,96,4},

{5,3,21,73,23}};

flag=0;

for (i=0; i<m; i++) {//获取元素在该行上最大

min[i]=r[i] [0];

for (j=1; j<n; j++)

if(r[i] [j]<min[i])

___________________;

}

for (j = 0; j <n; j ++ ) { //获取同一元素在该列上最大

max[j]=r[0] [j];

for(i=l;i<m;i++)

if(r[i] [j]>max[j])

_______________________

}

for(i=0;i<m;i++)

for(j=0;j<n;j++)

if(min[i]==max[j]){

System.out.print("("+i+", "+j+") : "+r[i] [j]);

flag=1;

}

if(flag==0)

System.out.println("没有鞍点!");

}

}


参考答案

更多 “ 请完成下列Java程序:查找一个矩阵中的鞍点,对于一个二维数组中的鞍点,该点位置上的元素在该行上最小,在该列上最大,也可能没有鞍点。数组大小为4行5列。注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。public class ex30_2 {public static void main(String[] args) {int i, j, flag,m=4,n=5;int[] min=new int [4];int[] max=new int [5];int r[] []={{2,5,6,7,9},{32,65,2,78,12},{1,8,5,96,4},{5,3,21,73,23}};flag=0;for (i=0; i<m; i++) {//获取元素在该行上最大min[i]=r[i] [0];for (j=1; j<n; j++)if(r[i] [j]<min[i])___________________;}for (j = 0; j <n; j ++ ) { //获取同一元素在该列上最大max[j]=r[0] [j];for(i=l;i<m;i++)if(r[i] [j]>max[j])_______________________}for(i=0;i<m;i++)for(j=0;j<n;j++)if(min[i]==max[j]){System.out.print("("+i+", "+j+") : "+r[i] [j]);flag=1;}if(flag==0)System.out.println("没有鞍点!");}} ” 相关考题
考题 阅读下列函数说明和C函数,回答问题1~2,将解答填入栏内。[说明]若矩阵Am×n中存在某个元素aij满足:aij…是第i行中最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。下面程序的功能是输出A中所有鞍点,其中参数A使用二维数组表示,m和n分别是矩阵A的行列数。[程序]void saddle (int A[ ] [ ], int m, int n){ int i,j,min;for (i=0;i <m;i + + ){ min: (1);for (j=1; j<n; j+ +)if(A[i][j]<min) (2);for (j=0; j<n; j+ +)if ((3)){ p=0;while (p<m(4))p+ +;if (p > = m)printf ("%d,%d,%d\n",i,j,min);}}}[问题1] 将函数代码中的(1)~(4)处补充完整[问题2]在上述代码的执行过程中,若A为矩阵,则调用saddle(A,3,3)后输出是(5)。

考题 下面程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并在文本框Textl中输出该数组中各元素的最小值。请填空。End Sub

考题 试题二(共15分)阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。【说明】如果矩阵A中的元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。一个矩阵可能存在多个马鞍点,也可能不存在马鞍点。下面的函数求解并输出一个矩阵中的所有马鞍点,最后返回该矩阵中马鞍点的个数。【C函数】Int findSaddle(int a[][N],int M),{ /*a表示M行N列矩阵,N是宏定义符号常量量*/int row,column,i,k;int minElem;int count=0;/*count用于记录矩阵中马鞍点的个数*/for( row = 0;row (1) ;row++) {/*minElem用于表示第row行的最小元素值,其初值设为该行第0列的元素值*/(2) ;for( column = 1;column (3) ;column++)if( minElem a[row][column]) {minElem = a[row][column];}for(k=0;kN;k++)if(a[row][k]==minElem){/术对第row行的每个最小元素,判断其是否为所在列的最大元素*/for(i=0;i M;i++)if( (4) minElem) break;if(i=(5) ){printf("(%d,%d):%d\n",row,k,minElem);/*输出马鞍点*/count++;}/*if*/}/*if*/}/*for*/return count,}/*findSaddle*/

考题 寻找二维数组(矩阵)的鞍点。

考题 编写一个函数,可以统计一维数组或二维数组元素之和。在主程序中,定义一个一维整型数组,调用函数计算元素之和;再定义一个二维整型数组,调用函数计算元素之和。

考题 4、下面关于矩阵博弈鞍点的说法,不正确的是()A.任何一个矩阵博弈都至少存在一个鞍点B.鞍点对应的双方策略组合为纳什均衡C.如果一个矩阵博弈存在多个鞍点,这些鞍点的值相同D.矩阵博弈不一定存在鞍点

考题 【填空题】若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设a[0][0]位于数组的第一个位置上) ____。

考题 编写一个程序合理使用函数,输入m(0<m<10),n(2<n<10),随机生成m个有鞍点的n*n矩阵(每个随机数为包含在0~9之间的整数),输出这些矩阵(鞍点用红色输出)。 提示:矩阵鞍点是指矩阵中的某一点,既是行中的最大值,又是列中的最小值。 矩阵中不一定存在鞍点,也可能有多个鞍点。随机数函数参见《计算机基础与计算思维》6.3.5小节。

考题 1、已知字符数组char str[25],其数组元素按下标依次为'a','b','c'...'y',请编写程序,按每行5个字符在屏幕上以矩阵形式打印出该数组,并计算位于该矩阵主对角线(从左上到右下)上的元素的ASCII码值和。