Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ArrayAverager {
- public static int[][] makeAvArray(int[][] theArray) {
- int rows = theArray.length;
- int cols = theArray[0].length;
- int[][] avArray = new int[rows][cols];
- int sum;
- int neighbours;
- for (int r=0; r<rows; r++) {
- for (int c=0; c<cols; c++) {
- sum = theArray[r][c];
- neighbours = 1; // itself
- if (c>0) {
- sum += theArray[r][c-1];
- neighbours++;
- if (r>0) {
- sum += theArray[r-1][c];
- sum += theArray[r-1][c-1];
- neighbours+=2;
- }
- if (r<rows-1) {
- sum += theArray[r+1][c];
- sum += theArray[r+1][c-1];
- neighbours+=2;
- }
- } // if c
- if (c<cols-1) {
- sum += theArray[r][c+1];
- neighbours++;
- if (r>0) {
- sum += theArray[r-1][c];
- sum += theArray[r-1][c+1];
- neighbours+=2;
- }
- if (r<rows-1) {
- sum += theArray[r+1][c];
- sum += theArray[r+1][c+1];
- neighbours+=2;
- }
- } // if c
- avArray[r][c] = sum/neighbours;
- } // for c
- } // for r
- return avArray;
- } // makeAvArray()
- public static void displayArray(int[][] array) {
- for (int r=0; r<array.length; r++) {
- for (int c=0; c<array[0].length; c++) {
- System.out.print(array[r][c]+" ");
- } // for c
- System.out.println();
- } // for r
- } // displayArray()
- public static void main(String[] args) {
- final int ROWS = 3;
- final int COLS = 4;
- int[][] array = new int[ROWS][COLS];
- int n=1;
- // for test example, number in ascending order
- for (int r=0; r<ROWS; r++) {
- for (int c=0; c<COLS; c++) {
- array[r][c] = n++;
- } // for c
- } // for r
- System.out.println("Original array:\n");
- displayArray( array);
- System.out.println("\nArray of averages:\n");
- displayArray( makeAvArray( array));
- } // main()
- } // class ArrayAverager
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement