193k views
24 votes
The return value is a one-dimensional array that contains two elements. These two elements indicate the rows and column indices of the largest element in the two-dimensional array. Write a test program that prompts the user to enter a two-dimensional array and displays the location of the largest element in the array.

User GELR
by
5.8k points

1 Answer

6 votes

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;

}

}

Step-by-step explanation:

The next two lines import the scanner and array libraries

import java.util.Scanner;

import java.util.Arrays;

The class of the program

public class Main {

The main method begins here

public static void main(String args[]) {

The scanner function is called in the program

Scanner input = new Scanner(System.in);

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

for(int i =0;i<row;i++){

for(int j =0;j<col;j++){

Array2D[i][j] = input.nextInt();

} }

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

for(int i =0;i<row;i++){

for(int j =0;j<col;j++){

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

maxitem[0] = i; -- The row position is saved in index 0

maxitem[1] = j; -- The column position is saved in index 1} } }

This returns the 1 d array

return maxitem;

}

User PlushyObject
by
5.3k points