Trying to write a code that creates a 5 x 5 2D array with random numbers from 0-9. Then sorts array columns from lowest to highest top to bottom adding the rows to output a total. Similar to this but with random numbers.
Input array
5 5 5 5 5
4 4 4 4 4
3 3 3 3 3
2 2 2 2 2
1 1 1 1 1
Output array
1 1 1 1 1 = 5
2 2 2 2 2 = 10
3 3 3 3 3 = 15
4 4 4 4 4 = 20
5 5 5 5 5 = 25
All I have so far is the below 2D 5 x 5 array. Stuck on the sorting and the summing of the rows. Any help would be appreciated.
--------------------------------------------------------------
publicclass SortArray {
publicstaticvoid main(String[] args) {
System.out.print("Input Array:");
System.out.println();
int row, col;
int[][] random; // array declaration
random = newint[5][5]; // creation of 5 x 5 array
// fills a 5 x 5 array with random numbers between 0 and 9
for (row = 0; row < scores.length; row++){
for (col = 0; col < scores[row].length; col++){
scores[row][col] = (int)(Math.random() * 9);
}
}
// prints the contents of the array
for (row = 0; row < scores.length; row++){
for (col = 0; col < scores[row].length; col++){
System.out.print( scores[row][col] + " ");
}
System.out.println(); // moves to next line
}
}
}
|
Pro contributor
|
![]() |
| 23Mar2010,03:15 | #2 |
|
Code:
import java.util.Random;
public class SortArray {
public static void main(String[] args) {
System.out.print("Input Array:");
System.out.println();
int row, col;
int[][] scores; // array declaration
scores = new int[5][5]; // creation of 5 x 5 array
Random random = new Random();
// fills a 5 x 5 array with random numbers between 0 and 9
for (row = 0; row < scores.length; row++){
for (col = 0; col < scores[row].length; col++){
scores[row][col] = random.nextInt(10);//0-9 , 9 included
}
}
// prints the contents of the array
for (row = 0; row < scores.length; row++){
for (col = 0; col < scores[row].length; col++){
System.out.print( scores[row][col] + " ");
}
System.out.println(); // moves to next line
}
System.out.println("result sorted");
for (col=0;col< scores[0].length; col++){
for (int i=0;i<scores.length;i++)
for (int j=i;j<scores.length;j++){
if (scores[i][col]>scores[j][col]){
int temp=scores[i][col];
scores[i][col]=scores[j][col];
scores[j][col]=temp;
}
}
}
// prints the contents of the array
for (row = 0; row < scores.length; row++){
for (col = 0; col < scores[row].length; col++){
System.out.print( scores[row][col] + " ");
}
System.out.println(); // moves to next line
}
}
}
in this new array perform bubblesort. do this for all columns. |
|
Newbie Member
|
|
| 23Mar2010,03:37 | #3 |
|
Thanks so much. I think I can get it from here.
|

