我试图将每行中的最小值和最大值放在一个3个元素大的新数组中。我有3行。如何打印min [0] max [0],min [1]和max [1],min [2]和max [2]?
这是我到目前为止所做的。 vrsta =行, stolpec =柱,
import java.util.Arrays;
public class KozarciMarmelade {
static final int vrsta=3;
static final int stolpec=10;
static int [][] t=new int[vrsta][stolpec];
static int mini=3;
static int maxi=3;
static int [] mintab=new int [3];
static int [] maxtab=new int [3];
public static void main(String[] args) {
zapolniTabelo();
izpisiTabelo(t);
findMax(t);
findMin(t);
}
public static void zapolniTabelo() {
for( int i=0;i<vrsta;i++){
for(int j=0;j<stolpec;j++){
t[i][j]=(int)(Math.random()*60+670);
}
}
}
public static void izpisiTabelo(int [][] t) {
for(int k=0;k<t.length;k++){
System.out.print((k+1)+".izmena: ");
for(int l=0;l<t[k].length;l++){
System.out.print(t[k][l] +" ");
}
System.out.println();
}
}
public static void findMax(int [][] t){
for(int i=0;i<t.length;i++){
maxi=t[i][0];
for(int j=1;j<t[i].length;j++){
if(maxi<t[i][j])
maxi=t[i][j];
}
System.out.println("The largerst element in row "+ (i+1)+": "+maxi);
}
}
public static void findMin(int [][] t){
for(int i=0;i<t.length;i++){
mini=t[i][0];
for(int j=0;j<t[i].length;j++){
if(mini>t[i][j])
mini=t[i][j];
}
System.out.println("Te smallest ellement in a row "+(i+1)+": "+mini);
}
}
}
答案 0 :(得分:1)
对于每一行,执行以下操作:
Arrays.sort(array);
min = array[0];
max = array[array.length-1];
答案 1 :(得分:0)
将它们存储在2个数组中:
int[] mins=new int[matrix.length],maxs=new int[matrix.length];
for( each row in matrix)
{
min[index of this row]=Integer.MAX_VALUE;
max[index of this row]=Integer.MIN_VALUE;
for(int i:row){
if(i<min[index]) min[index]=i;
if(i>max[index]) max[index]=i;
}
}