2. 定义一个二维整形数组data[5][6],数组中的元素在区间[0, 100)上随机赋值。找出数组中所有的具有这类性质的元素及其位置:该元素在所在行是最大的,但在其所在列是最小的。如果没有这样的元

本文主要是介绍2. 定义一个二维整形数组data[5][6],数组中的元素在区间[0, 100)上随机赋值。找出数组中所有的具有这类性质的元素及其位置:该元素在所在行是最大的,但在其所在列是最小的。如果没有这样的元,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

package monster.zf.Test;
/*** 	2. 	* 	 	定义一个二维整形数组data[5][6],数组中的元素在区间[0, 100)上随机赋值。* 		找出数组中所有的具有这类性质的元素及其位置:该元素在所在行是最大的,但在其所在列是最小的。* 		如果没有这样的元素,则输出“没有这样的元素”。* @remakeTODO* @author Conquer丶ZF* @date 2019年9月12日下午12:53:31*/
public class FindArray {public static void main(String[] args) {int[][] data = new int[5][6];for (int i = 0; i < data.length; i++) {for (int j = 0; j < data[i].length; j++) {data[i][j] = (int)(Math.random()*100 )% 101;//产生[a-b]之间的一个整型随机数,//公式为:(int)(Math.random()*10000) % (b - a + 1) + a;}	}//int data[][] = {{1,2,11},{4,5,12},{7,8,9}};//测试验证的数组System.out.println("随机产生的数组为:");for (int i = 0; i < data.length; i++) {for (int j = 0; j < data[i].length; j++) {					System.out.print(data[i][j] + "\t");					}System.out.println();//打印完一行就换行	}findandian(data);}public static void findandian(int array[][]){boolean flag = true;for (int i = 0; i < array.length; i++) {  //找出第i行的最大数int max = array[i][0]; //开始时假设a[i][0]最大int max_j = 0;        //记录此时的列下标for (int j = 0; j < array[i].length; j++) {if(array[i][j]>max){max = array[i][j]; //将本行的最大数放在max中max_j = j;        //同时记录此时的列号}else continue;}for ( int k = 0; k < array.length; k++) {if(max > array[k][max_j]){  //将最大数和其同列相比flag = false;//只要max不是同列最小的就不是鞍点,设置为false		break;}else if(k==array.length-1){//当然循环到最后一个了就说明都满足是鞍点。就设置为trueflag = true;}else{continue; //否则就继续}	}if(flag){System.out.println("位置第" + (i+1) + "行," + (max_j+1) + "列的"+array[i][max_j] + "是鞍点" );//如果max比同列的都小就说明是鞍点,就输出}else{System.out.println("第"+(i+1) + "行"+"不存在鞍点,即没有这样的元素" );}}}
}

在这里插入图片描述

由于5行6列0-100随机数生产的鞍点太少了所以举个测试用例

测试数组

在这里插入图片描述
在这里插入图片描述

这篇关于2. 定义一个二维整形数组data[5][6],数组中的元素在区间[0, 100)上随机赋值。找出数组中所有的具有这类性质的元素及其位置:该元素在所在行是最大的,但在其所在列是最小的。如果没有这样的元的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/250704

相关文章

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

使用C#如何创建人名或其他物体随机分组

《使用C#如何创建人名或其他物体随机分组》文章描述了一个随机分配人员到多个团队的代码示例,包括将人员列表随机化并根据组数分配到不同组,最后按组号排序显示结果... 目录C#创建人名或其他物体随机分组此示例使用以下代码将人员分配到组代码首先将lstPeople ListBox总结C#创建人名或其他物体随机分组

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

如何提高Redis服务器的最大打开文件数限制

《如何提高Redis服务器的最大打开文件数限制》文章讨论了如何提高Redis服务器的最大打开文件数限制,以支持高并发服务,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录如何提高Redis服务器的最大打开文件数限制问题诊断解决步骤1. 修改系统级别的限制2. 为Redis进程特别设置限制

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

poj 1287 Networking(prim or kruscal最小生成树)

题意给你点与点间距离,求最小生成树。 注意点是,两点之间可能有不同的路,输入的时候选择最小的,和之前有道最短路WA的题目类似。 prim代码: #include<stdio.h>const int MaxN = 51;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int P;int prim(){bool vis[MaxN];

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

hdu 1754 I Hate It(线段树,单点更新,区间最值)

题意是求一个线段中的最大数。 线段树的模板题,试用了一下交大的模板。效率有点略低。 代码: #include <stdio.h>#include <string.h>#define TREE_SIZE (1 << (20))//const int TREE_SIZE = 200000 + 10;int max(int a, int b){return a > b ? a :