본문 바로가기
C

문자열 배열 연습 4

by KWONE 2024. 5. 29.

이차원 배열을 이용한 프로그램 작성 연습

#include <stdio.h>
int main(void)
{
	int i, j, n = 0;
	int a[4][4], b[4][4];

	for (i = 0;i < 4;i++) {
		for (j = 0;j < 4;j++) {
			a[i][j] = ++n;
			b[i][j] = 0;
		}
	}
	for (i = 0;i < 4;i++) {
		for (j = 0;j < 4;j++) {
			b[3 - j][i] = a[i][j];
		}
	}

	printf("A=\n");
	for (i = 0;i < 4;i++) {
		for (j = 0;j < 4;j++) {
			printf(" %3d ", a[i][j]);
		}
		printf("\n");
	}

	printf("B=\n");
	for (i = 0;i < 4;i++) {
		for (j = 0;j < 4;j++) {
			printf(" %3d ", b[i][j]);
		}
		printf("\n");
	}

	return 0;
}

A배열을 왼쪽으로 90도 회전한것이 B배열이다.

함수 정의 없이 만들었다.

다음은 사용자 정의 함수 matrix를 정의하여 똑같은 출력을 갖도록 하였다.

#include <stdio.h>
void matrix(int array[][4], int rowsize);
int main(void)
{
	int i, j, n = 0;
	int a[4][4], b[4][4];

	for (i = 0;i < 4;i++) {
		for (j = 0;j < 4;j++) {
			a[i][j] = ++n;
			b[i][j] = 0;
		}
	}
	for (i = 0;i < 4;i++) {
		for (j = 0;j < 4;j++) {
			b[3 - j][i] = a[i][j];
		}
	}

	printf("A=\n");
	matrix(a, 4);

	printf("B=\n");
	matrix(b, 4);

	return 0;
}
void matrix(int array[][4], int rowsize)
{
	int i, j;
	for (i = 0;i < 4;i++) {
		for (j = 0;j < 4;j++) {
			printf(" %3d ", array[i][j]);
		}
		printf("\n");
	}
}

알다시피 사용자 정의 함수를 정의하여 사용하면 앞으로 활용에 있어서 행렬이 2개,3개 더 추가되더라도 쉽게 처리할수있다.

'C' 카테고리의 다른 글

포인터 연습 예제2  (0) 2024.06.04
포인터 연습 예제1  (0) 2024.06.03
문자열 배열 연습 3  (0) 2024.05.29
문자열 배열 연습2  (0) 2024.05.28
문자열 배열 연습1  (0) 2024.05.28