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;
}