最大値の行の列に最小値を取得しようとしています。私はループを使用しようとしていますが、動作しません。 [検索Iは、プログラムが[0]行目の最大値を見つけたい配列内の最大/最小値を取得しようとしています
:
は、行列Aをしましょう最大値の列の最小値。 結果は次のようになります:最大行[0] = 5、最小列[2] = 3 それから、すべての行を同じようにしたいのです。ここで
は行列です:
public int[][] createMatrix(int a, int b){
Scanner inputm = new Scanner(System.in);
A = new int[a][b];
System.out.println("Enter elements for matrix A : ");
for (int i=0 ; i < A.length ; i++){
System.out.println("Enter numbers for " + i +"th row");
for (int j=0 ; j < A[i].length ; j++){
A[i][j] = inputm.nextInt();
}
}
return A;
}
public int[][] displayMatrix(){
System.out.println("Matrix A: ");
for (int i=0 ; i < A.length ; i++)
{ System.out.println();
for (int j=0 ; j < A[i].length ; j++){
System.out.print(A[i][j]+" ");
}
}
return A;
}
public int getMaximumOfEveryRow (int c){
a=c;
int i= 0;
int j;
while(i < A[a].length){
max = Integer.MIN_VALUE;
for ( j = 0; j < A [ i ].length; j++)
if (A [ i ] [ j ] > max){
max = A [ i ] [ j ];
}
for ( i = 0; i < A [ i ].length; i++)// e
if (A [ i ] [ j ] < min){
min = A [ i ] [ j ];
}
System.out.println("\n Maximum of row " + j + " = " + max);
System.out.println("Minimum of column " + i + " = " + min);
if(max == min){
System.out.println(min+ " = " + max);
System.out.println("This is a saddle point. ");
}
i++;
}
return max;
}
、これは私がこれまで持っているものです。colunmで最大値を検索し、次にの行の最小値を見つけるための
public int getMaximumOfEveryRow (int c){
a=c;
int i= 0;
int j;
while(i < A[a].length){
max = Integer.MIN_VALUE;
for ( j = 0; j < A [ i ].length; j++)
if (A [ i ] [ j ] > max){
max = A [ i ] [ j ];
}
int e = j;
int r;
for ( i = 0; i < A [ i ].length; i++)// e
if (A [ i ] [ j ] < min){
min = A [ i ] [ j ];
}
System.out.println("\n Maximum of row " + j + " = " + max);
System.out.println("Minimum of column " + i + " = " + min);
if(max == min){
System.out.println(min+ " = " + max);
System.out.println("This is a saddle point. ");
}
i++;
}
return max;
}
public int getMaximumOfEveryColumn()
{
for (int i = 0; i < A.length; i++)
{
maxc = Integer.MIN_VALUE;
for (int j = 0; j < A [ i ].length; j++)
if (A [ j ] [ i ] > maxc)
maxc = A [ j ] [ i ];
System.out.println("Maximum of column " + i + " = " + maxc);
}
return maxc;
}
public int getMinimumOfEveryColumn_(){
for (int i = 0; i < A.length; i++)
{
minc = Integer.MAX_VALUE;
for (int j = 0; j < A [ i ].length; j++)
if (A [ j ] [ i ] < minc)
minc = A [ j ] [ i ];
System.out.println("Minimum of column " + i + " = " + minc);
}
return minc;
}
public int getMaximumOfEveryRow()
{
for (int i = 0; i < A.length; i++)
{
maxr = Integer.MIN_VALUE;
for (int j = 0; j < A [ i ].length; j++)
if (A [ i ] [ j ] > maxr)
maxr = A [ i ] [ j ];
System.out.println("Maximum of row " + i + " = " + maxr);
}
return maxr;
}
コードその最大値。
public void get_max_of_the_row_of_local_min()
{
for (int i = 0; i < A.length; i++)
{
min = Integer.MAX_VALUE;
max = Integer.MIN_VALUE;
int index_of_min_in_its_col = 0;
//maxc = Integer.MIN_VALUE;
for (int j = 0; j < A [ i ].length; j++)
if (A [ j ] [ i ] > max){
max = A [ j ] [ i ];
index_of_min_in_its_col = i;
System.out.println(" Maximum of col [" + i + "] = " + max);
}
for (int j = 0; j < A [ index_of_min_in_its_col ].length; j++)
if (A [ index_of_min_in_its_col ] [ index_of_min_in_its_col ] < min){
min = A [ index_of_min_in_its_col ] [ index_of_min_in_its_col ];
a =j;
}
//System.out.print(" Maximum of col [" + j + "] = " + max);
System.out.println(" Minimum of rol [" + index_of_min_in_its_col + "] = " + min);
if(max == min){
System.out.println("This is a saddle point.");
}
}
マトリックスの定義方法を表示できますか?これはすべて1行に記載されているので、2行目がどこから始まるかは不明です。 –
@HunterMcMillen私はそれを編集しました。 –
A [a]とは何ですか?どこから来たのですか? – John3136