Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- /
- 도커 #docker #docker-compose.yml #도커컴포즈 #배포 #spring #mysql #docker-compose
- chatgpt #gpt #챗지피티 #ai
- 도커 #Docker #배포 #Spring #MySQL #백엔드배포
Archives
- Today
- Total
개발자 데뷔!
[C/C++ 3.4] 2중 for문 마스터 (2차원 배열 접근하기) 본문
// 9 6 3
// 8 5 2
// 7 4 1
int arr[3][3];
int f = 1;
for (int j = 2; j >= 0; j--) {
for (int i = 2; i >= 0; i--) {
arr[i][j] = f;
f++;
}
}
// 7 8 9
// 4 5 6
// 1 2 3
int arr[3][3];
int f = 1;
for (int i = 2; i >= 0; i--) {
for (int j = 0; j <3; j++) {
arr[i][j] = f;
f++;
}
}
// 1 4 7
// 2 5 8
// 3 6 9
int arr[3][3];
int f = 1;
for (int j = 0; j <3; j++) {
for (int i = 0; i < 3; i++) {
arr[i][j] = f;
f++;
}
}
// 7 4 1
// 8 5 2
// 9 6 3
int arr[3][3];
int f = 1;
for (int j = 2; j >= 0; j--) { // 2중 for문에 같이 정리 !!!!!
for (int i = 0; i < 3; i++) {
arr[i][j] = f;
f++;
}
}
// 9 8 7
// 6 5 4
// 3 2 1
int arr[3][3];
int f = 1;
for (int i = 2; i >= 0; i--) {
for (int j = 2; j >= 0; j--) {
arr[i][j] = f;
f++;
}
}
배열 대각선 채우는 법
int arr[4][4];
int filler = 0;
for (int i = 0; i < 4; i++) {
arr[i][i] = filler;
filler++;
}
2차원 피라미드
//입력
st = a + 8; // 시작 숫자 설정
for (int i = 2; i >= 0; i--) { // 뒤에서 부터 거꾸로 넣되,
for (int j = 3; j >= adj; j--) {
arr[i][j] = st;
st--; // 입력하는 수 1씩 감소
}
adj++; // 위로 올라갈수록 좁아지는 피라미드 형태
}
2차원 삼각형
for (int i = 0; i < 3; i++) {
for (int j = 0; j < i+1; j++) { // 이중 for문에 같이 정리 !!! ******
sum += arr[i][j];
}
}
2차원 역삼각형
for (int i = 0; i < 5; i++) {
for (int j = i; j < 5; j++) {
cout<< arr[j]<<" ";
}
cout << endl;
}
2중 for 문 case -> ??????결과?
//ed는 열의 어디까지 채울 것인가 를 표시
if (a >= '0' && a <= '9') {
ed = 2;
for (int i = 2; i >= 0; i--) {
for (int j = 2; j >= ed; j--) {
arr[i][j] = num;
num++;
}
ed--;
}
}
else if (a >= 'A' && a <= 'Z') {
ed = 2;
for (int i = 2; i >= 0; i--) {
for (int j = 0; j <= ed; j++) {
arr[i][j] = num;
num++;
}
ed--;
}
}
가로줄 합 & 세로줄 합 & 대각선 합 => 각 추가된 행,렬에 입력하기
//3번
int main() {
int arr[4][4] = { 0 };
//입력
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cin >> arr[i][j];
}
}
//계산 // 표의 가로, 세로, 대각선 합 채워서 새 칸에 채워넣기 !!!!!!
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
// 가로합 구하기
arr[i][3] += arr[i][j];
// 세로합 구하기
arr[3][j] += arr[i][j];
}
// 대각선 합 구하기
arr[3][3] += arr[i][i]; // 대각합은 2중 for문을 돌며 [i][i]번으로 중복될 수 있으므로, 1차 for문에만 써주기
}
//출력
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
cout<< arr[i][j]<<" ";
}
cout << endl;
}
return 0;
}
'프로그래밍 언어 > C' 카테고리의 다른 글
[C/C++ 7.4] 함수에서 값 2개이상 return 하기 (0) | 2022.03.15 |
---|---|
[C/C++ 8.0] 매크로(Macro) 함수 (0) | 2022.03.11 |
[C/C++ 3.3] 2차원 배열 초기화 (0) | 2022.03.11 |
[C/C++ 3.2] 1차원 배열 초기화 (0) | 2022.03.11 |
[C/C++ 3.1] 다중 루프(for)문 탈출방법 (0) | 2022.03.10 |