[Java]/Program source (java)
★091 - Java 배열 : 배열의 배열로 특정한 규칙(한 열, 한 행의 요소 총합값을 맨 끝에 출력, 마방진과 유사)을 갖는 배열을 구성하고 출력하는 프로그램(4)
Jelly-fish
2023. 9. 7. 09:59
/*==========================
■■■ 배열 ■■■
- 배열의 배열
============================*/
// 배열의 배열(다차원 배열)을 활용하여
// 다음과 같은 데이터를 요소로 취하는 배열을 구성하고
// 그 결과를 출력하는 프로그램을 구현한다.
// 실행 예)
/*
1 2 3 4 10
5 6 7 8 26
9 10 11 12 42
13 14 15 16 58
28 32 36 40 136
계속하려면 아무 키나 누르세요...
*/
/*
※ 반복문의 처리가 필요한 영역 ※ 반복문의 처리가 필요하지 않은 영역
│
1 2 3 4 │
5 6 7 8 │ 10
9 10 11 12 │ 26
13 14 15 16 │ 42
│ 58
────────────────────┘
28 32 36 40 136
*/
public class Test091
{
public static void main(String[] args)
{
int[][] arr = new int[5][5];
int n = 0;
// 테스트 변수
int sum = 0;
// 각 for문 수식2의 『-1』 → 반복문의 처리가 필요하지 않은 영역
for (int i = 0; i < arr.length - 1; i++) //-- 웅~~~ i → 0 1 2 3
{
for (int j = 0; j < arr[i].length - 1 ; j++) //-- 쑝쑝쑝 j → 0123 0123 0123 0123
{
n++;
arr[i][j] = n;
//sum += arr[i][j];
//System.out.printf("%4d", sum);
arr[i][arr[i].length - 1] += arr[i][j];
/* 가로의 합 → (열들의 합)
arr[0][4] += arr[0][0];
+= arr[0][1];
+= arr[0][2];
+= arr[0][3];
:
1
2
3
*/
arr[arr.length - 1][j] += arr[i][j];
/* 세로의 합 ↓ (행들의 합)
arr[4][0] += arr[0][0];
+= arr[1][0];
+= arr[2][0];
+= arr[3][0];
:
1
2
3
*/
arr[arr.length - 1][arr[i].length - 1] += arr[i][j];
/*
arr[4][4] += arr[0][0];
+= arr[0][1];
+= arr[0][2];
+= arr[0][3];
:
*/
}
}
// 배열의 배열 전체 출력 구문
for (int i = 0; i < arr.length ; i++)
{
for (int j = 0 ; j < arr[i].length ; j++)
{
System.out.printf("%4d", arr[i][j]);
}
System.out.println();
}
}
}
// 실행 결과
/*
1 2 3 4 10
5 6 7 8 26
9 10 11 12 42
13 14 15 16 58
28 32 36 40 136
계속하려면 아무 키나 누르십시오 . . .
*/
/*[내가 한 풀이]========================================
public class Test091
{
public static void main(String[] args)
{
int[][] arr = new int[5][5];
int n = 1;
for (int i = 0; i < arr.length - 1; i++)
{
for (int j = 0; j < arr[i].length - 1; j++)
{
arr[i][j] = n;
arr[4][j] += n;
arr[i][4] += n;
arr[4][4] += n;
n++;
}
}
// 모든 요소 출력
for (int i = 0; i < arr.length; i++)
{
for (int j = 0 ; j < arr[i].length ; j++)
{
System.out.printf("%3d", arr[i][j]);
}
System.out.println();
}
}
}
=======================================*/