Java找出4×5矩阵中值最小和最大元素,并分别输出其值及所在的行号和序号

求java大神帮忙 找出4*5矩阵中值最小的那个元素,输出其值及所在的行号和列号~

public class Test{
public static void main(String... args){
int[][] arr=new int[4][5];
int n=arr[0][0];x=0;y=0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
if(arr[i][j]<n){
n=arr[i][j];
x=i;y=j;
}
}
}
System.out.println("最小元素为"+n+",所在行为"+x+",所在列为"+y);
}
}

#include
void main() { int a[4][5],i,j,maxi,maxj;
for ( i=0;i<4;i++ ) for ( j=0;j<5;j++ ) scanf("%d",&a[i][j]);
maxi=maxj=0;
for ( i=0;i<4;i++ )
for ( j=0;j<5;j++ )
if ( a[maxi][maxj]<a[i][j] ) { maxi=i; maxj=j; }
printf("a[%d][%d]=%d
",maxi,maxj,a[maxi][maxj]);
}

1、打开电脑上的eclipse软件,配置好jdk的。

2、点击左上角的file,点击new,点击Javaproject。

3、新建一个class文件,自己取名字,勾引main选项,自动调用main方法。

4、输入代码。

5、控制台会出现6 2 9 15 1 5 18 7 20 。



代码如下:

package App;

import java.util.*;

public class App1 {

public static void main(String[] args)

{

int[][] arr=new int[4][5];

Scanner reader=new Scanner(System.in);

int i, j, min, max, minRow=0, minColumn=0, maxRow=0, maxColumn=0;

System.out.println("Please enter 4*5 array: ");

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

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

arr[i][j]=reader.nextInt();

for(i=0, min=arr[0][0], max=arr[3][4]; i<4; i++)

for(j=0; j<5; j++) {

if(arr[i][j]<min) {

min=arr[i][j];

minRow=i;

minColumn=j;

}

if(arr[i][j]>max) {

max=arr[i][j];

maxRow=i;

maxColumn=j;

}

}

System.out.println("Max="+max+"   Max Row="+maxRow+"   Max Column="+maxColumn);

System.out.println("Min="+min+"   Min Row="+minRow+"   Min Column="+minColumn);

}

}

扩展资料

Java——矩阵类

利用二维数组(double[])实现一个矩阵类:Matrix。要求提供以下方法:

(1)set(int row, int col, double value):将第row行第col列的元素赋值为value;

(2)get(int row,int col):取第row行第col列的元素;

(3)width():返回矩阵的列数;

(4)height():返回矩阵的行数;

(5)Matrix add(Matrix b):返回当前矩阵与矩阵b相加后的矩阵;

(6)Matrix multiply(Matrix b):返回当前矩阵与矩阵b相乘后的矩阵。

(7)Matrix transpose():返回当前矩阵的转置矩阵;

(8)toString():以行和列的形式打印出当前矩阵。



import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class SearchNum {
 public static void main(String[] args) {
  int[][] num = new int[4][5];
  //初始化
  for (int i = 0; i < num.length; i++) {
   for (int j = 0; j < num[i].length; j++) {
    Random random = new Random();
    num[i][j] = random.nextInt(100);
   }
  }
  //寻找最大最小值
  //设置结果存储
  Map<String, Integer> map = new HashMap<String, Integer>();
  map.put("MAX", num[0][0]);
  map.put("MAX_ROW", 1);
  map.put("MAX_COL", 1);
  map.put("MIN", num[0][0]);
  map.put("MIN_ROW", 1);
  map.put("MIN_COL", 1);
  //寻找
  for (int i = 0; i < num.length; i++) {
   for (int j = 0; j < num[i].length; j++) {
    int max = map.get("MAX");
    int min = map.get("MIN");
    int nowNum = num[i][j];
    if (max < nowNum) {
     map.put("MAX", nowNum);
     map.put("MAX_ROW", (i+1));
     map.put("MAX_COL", (j+1));
    }
    if (min > nowNum) {
     map.put("MIN", nowNum);
     map.put("MIN_ROW", (i+1));
     map.put("MIN_COL", (j+1));
    }
   }
  }
  //打印出结果
  for (String key : map.keySet()) {
   System.err.println(key+" = "+map.get(key));
  }
 }
}


就是几个变量,双循环 ~~~~~

编程:有一个4*5的矩阵,要求编程求出最小值的元素及其位置.
答:A=rand(4,5);%随机生成的4*5的矩阵,可换成你要计算的实际矩阵.a=min(min(A));[m,n]=find(A==a);fprintf(['最小值为',num2str(a),',其位置是第',num2str(m),'行,第',num2str(n),'列.\n']);

java写用随机数建立一个3×4的矩阵,并查找矩阵中最大值
答:代码如下:import java.util.Random;public class App26 {static int[][] creat() {int[][] arr = new int[3][4];Random random = new Random(System.currentTimeMillis());for (int i = 0; i < 3; i++) {for (int j = 0; j < 4; j++) {arr[i][j] = random.nextInt(...

求4*5的矩阵中的鞍点(元素在本行值最大但在所在列是最小的),若矩阵不...
答:include<stdio.h>int main(){int a[4][5],i,j,i1,j1=0,max,s=1;int i2;/*i和j是行和列的循环变量,i1和j1是一行中横向最大值所在的行标和列标,s是鞍点是否存在的标示量*/for(i=0;i<=3;i++){for(j=0;j<=4;j++)scanf("%d",&a[i][j]);}printf("输入的数组:\n"...

用java做,求矩阵中的最大元素
答:{ public static void main(String[] args){ Scanner s = new Scanner(System.in);int m, n, r = 0, c = 0, max = 0;System.out.println("输入m和n");m = s.nextInt();n = s.nextInt();int[][] arr = new int[m][n];System.out.println("输入矩阵中个元素");for(int...

...编程求二维数组中每行的最大值,并将找到的所有最大值放到一个一维...
答:include <stdio.h>int main(){ int a[4][5], b[4]; int i,j; for(i = 0; i < 4; i ++) for(j = 0; j < 5; j ++) { scanf("%d", &a[i][j]); if(j == 0) b[i] = a[i][j]; else if(b[i]<a[i][j])b[i] = a[i][j]...

...个4*5的二维整型数组中存放20个整数,编写程序找出其中的最大值和最...
答:include <stdio.h> main(){int i,j,a[4][5],min,max=0;for(i=0;i<4;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)for(j=0;j<5;j++){if(a[i][j]>max)max=a[i][j];} min=max;for(i=0;i<4;i++)for(j=0;j<5;j++){if(a[i][...

用java输出以下4*5的矩阵
答:public class Test1{ public static void main(String[] args) { int a[][]=new int[4][5]; for(int i=0;i<4;i++) for(int j=0;j<5;j++) a[i][j]=i+j; for(int i=0;i<4;i++){ System.out.print("no:"+(i+1)+ " "); for(int j=0;j<...

JAVA如何编写求矩阵的最值?谢谢大家
答:简单 先说思路:搞两个变量 int max =0 和 int min = 0;用两个嵌套循环遍历 k*n的矩阵 for(int i = 0 ;i<k;i++){ for(int j = 0 ;j<n;j++){ } } 然后在循环中 判断 if(a[i][j] > max){ max = a[i][j];} if(a[i][j] < min){ min = a[i][j];} 最...

有一个4*5矩阵,用MATLAB编程求出其最大值及其所在的位置
答:1 的第一个数组维度计算,并将这些元素视为向量。此维度的大小将变为 1,而所有其他维度的大小保持不变。如果 A 是第一个维度长度为零的空数组,则 max(A) 返回与 A 大小相同的空数组。这也是求矩阵的最大值需要使用两个 max 函数的原因。使用 find 函数可以找到矩阵中等于最大值的位置。

java输出以下4*5的矩阵 // 1 2 3 4 5 // 2 4 6 8 10 // 3 6 9 12...
答:public class JuZhen {public static void main(String[] args) {int[][] aa = new int[4][5];for(int i=1;i<=4;i++){for(int j=1;j<=5;j++){aa[i-1][j-1] = i*j;}}for(int i=0;i<4;i++){for(int j=0;j<5;j++){System.out.print(aa[i][j]+" ");...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网