Small Grey Outline Pointer 2차원 배열 /for문 복습(이중for문)
본문 바로가기
Dev./C++

2차원 배열 /for문 복습(이중for문)

by sso. 2022. 3. 12.

2차원 배열
배열 안에 배열

2차원 배열 선언
자료형 배열명[행][열] = {{값1, 값2}, {값3, 값4}, {값5, 값6}, ...};
자료형 배열명[행][열]= [초기값, };

2차원 배열 사용
int arrData[2][3]={0, }
*(배열명 + 9) +2 //주소값
*(*(배열명 +2)) // 값 (두번 접근했으므로 주소값이 아닌, 값!)
*(*(배열명)+2) = // 0행 3열

 

 

 



이중 for문(Nested For)

A: for (초기식; 조건식; 증감식){
실행할 문장;
B: for(초기식; 조건식;증감식){
실행할 문장;
}
실행할 문장;
}


A 반복문은 안에 작성 된 문장이 모두 끝나야 다음 반복으로 넘어가기 때문에 
B 반복문은 A 반복 횟수만큼 초기식으로 돌아간다

실행할 문장 1 : A반복문의 매 반복마다 처음으로 실행되는 문장
실행할 문장 2 : A반복문의 매 반복마다 B반복문이 처음부터 다시 시작 되고
A반복횟수 * B반복횟수 만큼 실행 되는 문장 
실행할 문장 3 : B 반복문이 끝날 때 마다 실행 되는 문장

 

#include <stdio.h>

void main() {
	int temp[2][3] = {
		{10,20,30},
		{40,50,60}
	};

	printf("%4d %4d %4d\n", temp[0][0], temp[0][1], temp[0][2]);
	printf("%4d %4d %4d\n", temp[1][0], temp[1][1], temp[1][2]);

	printf("sizeof(배열전체): %d\n", sizeof(temp));
	printf("sizeof(한 행의 크기): %d\n", sizeof(temp[0]));

}

<결과>

  10   20   30
  40   50   60
sizeof(배열전체): 24
sizeof(한 행의 크기): 12

 

 

#include <stdio.h>

void main() {
	int arrData[2][3] = { 0, };
	for (int i = 0; i < 2; i++) { //행
		for (int j = 0; j < 3; j++) { //열
			arrData[i][j] = 5;
		}
	}
	for (int i = 0; i < 2; i++) { //행
		for (int j = 0; j < 3; j++) { //열
			printf("%d", arrData[i][j]);
		}
		printf("\n"); 
	}
}

<결과>

555
555

 

 

 

#include <stdio.h>
//월세 구하기 프로그램

void main() {
	int arrIncome[2][3] = { 0, };
	int total = 0;
	double avg = 0.0;


	for (int i = 0; i < 2; i++) {
		for (int j = 0; j < 3; j++) {
			printf("%d동 %d호 월세 입력[단위:만원]\n", i+1, j+1);
			scanf_s("%d", arrIncome[i] + j);
			total += arrIncome[i][j];
		}
	}

	avg = (double)total / 6;
	printf("총 월세 %d 만원\n", total);
	printf("평균 월세: %.2f 만원", avg);

}

<결과>

//월세 입력은 사용자 마음대로

 

1동 1호 월세 입력[단위:만원]
10
1동 2호 월세 입력[단위:만원]
25
1동 3호 월세 입력[단위:만원]
35
2동 1호 월세 입력[단위:만원]
50
2동 2호 월세 입력[단위:만원]
30
2동 3호 월세 입력[단위:만원]
40
총 월세 190 만원

평균 월세: 31.67 만원

728x90

'Dev. > C++' 카테고리의 다른 글

2차원 배열 연습문제  (0) 2022.03.18
3차원 배열/ 문자열배열  (0) 2022.03.18
포인터와 배열 응용문제 풀기  (0) 2022.03.06
포인터와 배열 연습문제 풀기, null문자  (0) 2022.03.06
포인터와 배열  (0) 2022.03.06

댓글