편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.07.09

    C 초보 2차원 배열의 행/열의 합구하기 이상한 결과값


    2차원 배열을 난수를 이용해서 만든 후에, 각 행과 각 열의 합계를 구하여 출력한 후 2차원 표로 배열을 출력하는 프로그램입니다. 근데 표랑 도출된 합계값이랑 비교해보면 서로 일치가 안되요. 예를 들어서 2행의 합계는 72라고 뜨는데, 표에서 2행의 합을 실제로 구해보면 179가 나와요. 어디서 잘못된 걸 까요?

    #include <stdio.h>
    #include <time.h>
    #define ROWS 5 //열(가로)
    #define COLS 3 //행(세로)
    
    int main(void)
    {
        int a[ROWS][COLS];
    
        srand((unsigned)time(NULL));
    
        for (int i = 0; i < ROWS; i++)
        {
            for (int j = 0; j < COLS; j++)
            {
                a[i][j] = rand() % 100;
            }
        }
    
        int sum = 0;
    
        for (int i = 0; i < ROWS; i++)
        {
            sum = 0;
    
            for (int j = 0; j < COLS; j++)
            {
                sum += a[i][j];
            }
    
            printf("%d열의 합계: %d\n", i, sum);
        }
    
        for (int j = 0; j < COLS; j++)
        {
            sum = 0;
    
            for (int i = 0; i < COLS; i++)
            {
                sum += a[i][j];
            }
    
            printf("%d행의 합계: %d\n",j ,sum);
        }
    
        for (int i = 0; i < ROWS; i++)
        {
            for (int j = 0; j < COLS; j++)
            {
                printf("%d ", a[i][j]);
            }
    
            printf("\n");
        }
    
        return 0;
    }
    

    이미지

  • 프로필 엽토군님의 편집
    날짜2021.07.08

    이상한 결과값


    2차원 배열을 난수를 이용해서 만든 후에, 각 행과 각 열의 합계를 구하여 출력한 후 2차원 표로 배열을 출력하는 프로그램입니다. 근데 표랑 도출된 합계값이랑 비교해보면 서로 일치가 안되요...... 예를 들어서 2행의 합계는 72라고 뜨는데, 표에서 2행의 합을 실제로 구해보면 179가 나와요... 어디서 잘못된 걸 까요?

    #include <stdio.h>
    #include <time.h>
    #define ROWS 5 //열(가로)
    #define COLS 3 //행(세로)
    
    int main(void)
    {
        int a[ROWS][COLS];
    
        srand((unsigned)time(NULL));
    
        for (int i = 0; i < ROWS; i++)
        {
            for (int j = 0; j < COLS; j++)
            {
                a[i][j] = rand() % 100;
            }
        }
    
        int sum = 0;
    
        for (int i = 0; i < ROWS; i++)
        {
            sum = 0;
    
            for (int j = 0; j < COLS; j++)
            {
                sum += a[i][j];
            }
    
            printf("%d열의 합계: %d\n", i, sum);
        }
    
        for (int j = 0; j < COLS; j++)
        {
            sum = 0;
    
            for (int i = 0; i < COLS; i++)
            {
                sum += a[i][j];
            }
    
            printf("%d행의 합계: %d\n",j ,sum);
        }
    
        for (int i = 0; i < ROWS; i++)
        {
            for (int j = 0; j < COLS; j++)
            {
                printf("%d ", a[i][j]);
            }
    
            printf("\n");
        }
    
        return 0;
    }
    

    이미지

  • 프로필 알 수 없는 사용자님의 편집
    날짜2021.07.08

    이상한 결과값


    2차원 배열을 난수를 이용해서 만든 후에, 각 행과 각 열의 합계를 구하여 출력한 후 2차원 표로 배열을 출력하는 프로그램입니다. 근데 표랑 도출된 합계값이랑 비교해보면 서로 일치가 안되요...... 예를 들어서 2행의 합계는 72라고 뜨는데, 표에서 2행의 합을 실제로 구해보면 179가 나와요... 어디서 잘못된 걸 까요?

    include

    include

    define ROWS 5 //열(가로)

    define COLS 3 //행(세로)

    int main(void) { int a[ROWS][COLS];

    srand((unsigned)time(NULL));
    
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            a[i][j] = rand() % 100;
        }
    }
    
    int sum = 0;
    
    for (int i = 0; i < ROWS; i++)
    {
        sum = 0;
    
        for (int j = 0; j < COLS; j++)
        {
            sum += a[i][j];
        }
    
        printf("%d열의 합계: %d\n", i, sum);
    }
    
    for (int j = 0; j < COLS; j++)
    {
        sum = 0;
    
        for (int i = 0; i < COLS; i++)
        {
            sum += a[i][j];
        }
    
        printf("%d행의 합계: %d\n",j ,sum);
    }
    
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            printf("%d ", a[i][j]);
        }
    
        printf("\n");
    }
    
    return 0;
    

    }이미지