[c언어] 2차원 배열 각 열의 합

2020. 12. 21. 15:56Computer Science/C

 

난수를 발생시켜 2차원 배열에 저장하고 각 열의 합을 계산하는 프로그램을 작성한다.

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void initTable(int data[][5], int size);
int totalTable(int data[][5], int size);
void printTable(int data[][5], int size);
void sumrow(int data[][5], int size);

int main(void)
{
    int table[3][5];
   
    srand(time(NULL));

    initTable(table, 3);
    printf("발생된 난수의 평균은 %d입니다.\n", totalTable(table, 3) / 15);

    printTable(table, 3);

    sumrow(table, 3);

    return 0;
}

void initTable(int data[][5], int size)
{
    int i, j;
    for (i = 0;i < size;i++)
    {
        for (j = 0;j < 5;j++)
            data[i][j] = rand() % 100;
    }
}

int totalTable(int data[][5], int size)
{
    int i, j, total = 0;
    for (i = 0;i < size;i++)
    {
        for (j = 0;j < 5;j++)
            total += data[i][j];
    }
    return total;
}

void printTable(int data[][5], int size)
{
    int i, j;
    for (i = 0;i < size;i++)
    {
        for (j = 0;j < 5;j++)
            printf("%5d", data[i][j]);
        printf("\n");
    }
}

void sumrow(int data[][5], int size)
{
    int i, j, sum;
    printf("---- 각 열의 합 ----\n");
    for (j = 0;j < 5;j++)
    {
        sum = 0;
        for (i = 0;i < size;i++)
        {
            sum += data[i][j];
        }
        printf("%5d", sum);
    }
    printf("\n");
}

 

결과

 

'Computer Science > C' 카테고리의 다른 글