37.8 연습문제 : 행렬의 주대각선 성분 구하기
문제 ) 다음 소스 코드를 완성하여 정사각행렬의 주대각선 성분이 출력되게 만드세요. 주대각선 성분은 왼쪽 위부터 오른쪽 아래까지 이어지는 대각선에 위치한 값을 말합니다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int matrix[8][8] = {
{ 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, 32 },
{ 33, 34, 35, 36, 37, 38, 39, 40 },
{ 41, 42, 43, 44, 45, 46, 47, 48 },
{ 49, 50, 51, 52, 53, 54, 55, 56 },
{ 57, 58, 59, 60, 61, 62, 63, 64 }
};
for (int i = 0; i < sizeof(matrix) / sizeof(matrix[0]); i++)
{
printf("%d ", matrix[i][i]);
}
printf("%\n");
return 0;
}

37.9 심사문제 : 전치행렬 구하기
문제 ) 표준 입력으로 5x5 정사각행렬이 입력됩니다. 다음 소스 코드를 완성하여 입력된 행렬의 전치행렬이 출력되게 만드세요.
전치행렬은 왼쪽 위부터 오른쪽 아래까지의 대각선(주대각선)을 기준으로 값을 뒤집은 행렬을 말합니다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int matrix[5][5];
scanf("%d %d %d %d %d",
&matrix[0][0], &matrix[0][1], &matrix[0][2], &matrix[0][3], &matrix[0][4]);
scanf("%d %d %d %d %d",
&matrix[1][0], &matrix[1][1], &matrix[1][2], &matrix[1][3], &matrix[1][4]);
scanf("%d %d %d %d %d",
&matrix[2][0], &matrix[2][1], &matrix[2][2], &matrix[2][3], &matrix[2][4]);
scanf("%d %d %d %d %d",
&matrix[3][0], &matrix[3][1], &matrix[3][2], &matrix[3][3], &matrix[3][4]);
scanf("%d %d %d %d %d",
&matrix[4][0], &matrix[4][1], &matrix[4][2], &matrix[4][3], &matrix[4][4]);
int num1 = sizeof(matrix) / sizeof(matrix[0]);
int num2 = sizeof(matrix[0]) / sizeof(int);
int i;
int j;
for (i = 0; i < num1; i++)
{
for (j = 0; j < num2; j++)
printf("%d ", matrix[j][i]);
printf("\n");
}
return 0;
}

'스터디 > 코딩' 카테고리의 다른 글
| [ 코딩 도장 : C ] Unit 39. 문자열 사용하기 : 연습문제 / 심사문제 (0) | 2024.07.08 |
|---|---|
| [ 코딩 도장 : C ] Unit 38. 포인터와 배열 응용하기 : 연습문제 / 심사문제 (0) | 2024.07.08 |
| [ 코딩 도장 : C ] Unit 36. 배수 사용하기 : 연습문제 / 심사문제 (0) | 2024.07.08 |
| [ 코딩 도장 : C ] Unit 35. 메모리 사용하기 : 연습문제 / 심사문제 (0) | 2024.07.08 |
| [ 코딩 도장 : C ] Unit 34. 포인터 사용하기 : 연습문제 / 심사문제 (0) | 2024.07.08 |