이차원 배열을 이용한 프로그램 작성 연습
#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 |