Answer:
In Java:
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int row, col;
System.out.print("Rows: "); row = input.nextInt();
System.out.print("Cols: "); col = input.nextInt();
int[][] Array2D = new int[row][col];
System.out.print("Enter array elements: ");
for(int i =0;i<row;i++){
for(int j =0;j<col;j++){
Array2D[i][j] = input.nextInt();
} }
int[] maxarray = findmax(Array2D,row,col);
System.out.println("Row: "+(maxarray[0]+1));
System.out.println("Column: "+(maxarray[1]+1));
}
public static int[] findmax(int[][] Array2D,int row, int col)
{
int max = Array2D[0][0];
int []maxitem = new int [2];
for(int i =0;i<row;i++){
for(int j =0;j<col;j++){
if(Array2D[i][j] > max){
maxitem[0] = i;
maxitem[1] = j; } } }
return maxitem;
}
}
Explanation:
The next two lines import the scanner and array libraries
<em>import java.util.Scanner;
</em>
<em>import java.util.Arrays;
</em>
The class of the program
<em>public class Main { </em>
The main method begins here
<em>public static void main(String args[]) { </em>
The scanner function is called in the program
<em>Scanner input = new Scanner(System.in);</em>
This declares the array row and column
int row, col;
This next instructions prompt the user for rows and get the row input
System.out.print("Rows: "); row = input.nextInt();
This next instructions prompt the user for columns and get the column input
System.out.print("Cols: "); col = input.nextInt();
This declares the 2D array
int[][] Array2D = new int[row][col];
This prompts the user for array elements
System.out.print("Enter array elements: ");
The following iteration populates the 2D array
<em> for(int i =0;i<row;i++){ </em>
<em> for(int j =0;j<col;j++){
</em>
<em> Array2D[i][j] = input.nextInt();
</em>
<em> } }
</em>
This calls the findmax function. The returned array of the function is saved in maxarray
int[] maxarray = findmax(Array2D,row,col);
This prints the row position
System.out.println("Row: "+(maxarray[0]+1));
This prints the column position
System.out.println("Column: "+(maxarray[1]+1));
The main method ends here
}
The findmax function begins here
public static int[] findmax(int[][] Array2D,int row, int col)
{
This initializes the maximum to the first element of the array
int max = Array2D[0][0];
This declares maxitem. The array gets the position of the maximum element
int []maxitem = new int [2];
The following iteration gets the position of the maximum element
<em>for(int i =0;i<row;i++){
</em>
<em> for(int j =0;j<col;j++){
</em>
<em> if(Array2D[i][j] > max){ </em>
<em> maxitem[0] = i; </em><em>-- The row position is saved in index 0</em><em>
</em>
<em> maxitem[1] = j; </em><em>-- The column position is saved in index 1</em><em>} } }
</em>
This returns the 1 d array
return maxitem;
}