37.4 연습문제 : 행렬의 주대각선 성분 구하기
다음 소스 코드를 완성하여 정사각행렬의 주대각선 성분이 출력되게 만드세요. 주대각선 성분은 왼쪽 위부터 오른쪽 아래까지 이어지는 대각선에 위치한 값을 말합니다.
practice_principal_diagonal_of_matrix.c
#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 }
    };
    ____________________________________________________________
    ...
    ____________________________________________________________
    return 0;
}실행결과
1 10 19 28 37 46 55 64
정답
for (int m = 0; m < sizeof(matrix) / sizeof(matrix[0]); m++)
{
    printf("%d ", matrix[m][m]);
}해설
먼저 행렬의 주대각선에 위치한 값들의 규칙을 살펴보면, 1 10 19 28 37 46 55 64의 행, 열 위치값은 서로 같으며 0부터 1씩 증가한다는 것을 알 수 있다.
따라서 반복문으로 행(m)을 출력하면서 배열의 세로 인덱스와 가로 인덱스에 m값을 넣어주면 된다(행렬의 세로 크기(행)는 배열이 차지하는 전체 공간을 가로 크기(열)로 나눠주면 된다).
출처
https://dojang.io/mod/page/view.php?id=314
Author And Source
이 문제에 관하여(37.4 연습문제 : 행렬의 주대각선 성분 구하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@shuajjjjj/37.4-연습문제-행렬의-주대각선-성분-구하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)