Launa 2023. 9. 21. 22:40

int test[4][3] = { {8, 7}, {6, 5}, {1, 2}, {3, 4}};

가) 앞의 선언 및 초기화 구문에서 초기화되지 않은 엘리먼트는 몇 개이고 이들 엘리먼트들은 어떤 것들인지 말해 보시오. test의 메모리 구조를 2차원 형태로 그림을 그려보시오.

나) 아래와 같은 형태의 구문을 사용하여 배열 test를 각 row 별로 출력하는 프로그램을 완성해 보시오.

printf(“배열 test의 엘리먼트를 출력합니다\n”);

for (i = 0; i < 4; i++)

{

      printf("\n%d번째 row: " , i + 1);

      for (j = 0; j < 3; j++)

}

다) 아래와 같은 형태의 for 문을 사용하여 test 배열에서 초기화 되지 않은 4개의 엘리먼트들 값을 모두 - 1로 수정한후 다시 한번 나)의 코드를 이용하여 출력하시오.

for (i = 0; i < 4; i++)

______________코드 한 줄 추가 ____________________

라) 앞의 다)를 수행한 후에 test의 모든 엘리먼트(12개) 값의 합과 그 평균을 출력하는 프로그램을 작성해 보시오.. for 반복문과 적당한 변수를 추가하여 프로그램을 완성해 보시오. (주의: 전체 합으로는 32을, 평균 값으로는 2.67을 출력함)

마) 앞의 라)를 수행한 후에 다음과 같은 기능을 수행하는 프로그램을 작성해 보시오. - test 배열의 각 row에 있는 엘리먼트 중 최대값을 출력. - 출력된 최대값 4개의 합을 출력

 

 

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
#include <stdio.h> 
int main(void)
{
    int test[4][3= { {87,-1}, {65,-1}, {12,-1}, {34,-1} };
    int max[5]={0}, sum = 0,maxSum=0;
 
    printf("다>\n");
    printf("배열 test의 엘리먼트를 출력합니다\n");
    for (int i = 0; i < 4; i++
    {
        printf("\n%d번째 row: ", i + 1); 
        for (int j = 0; j < 3; j++)
        {
            printf("%d ", test[i][j]);
            sum = sum + test[i][j];
        }
    }
    printf("\n");
    printf("\n");
 
    printf("라>\n");
    printf("Total is %d\n", sum);
    printf("Average is %.2f\n", (double)sum / 12);
    printf("\n");
 
    printf("마>\n");
    for (int i = 0; i < 4; i++)
    {
        printf("\n%d번째 row에서의 최대값: ", i + 1);
        for (int j = 0; j < 3; j++)
            if (test[i][j] > max[i])
                max[i] = test[i][j];
        printf("%d", max[i]);
    }
    printf("\n");
    for (int i = 0; i < 4; i++)
        maxSum = maxSum + max[i];
    printf("최대값의 합 : %d", maxSum);
 
    return 0;
}
cs

 

반복문에서 합을 구해주면 되고

합을 int로 받았으니 형변환 double로 형변환 해준다

최댓값을 5크기의 배열로 받고 요소들을 다 0으로 선언한다

이후 배열test의 요소가 최댓값보다 크면 그 값을 최댓값으로 선언하고

그렇게 row에서의 최댓값 정하기가 끝나면 최댓값max배열에 저장되어 있는 값을 더해서 출력한다

 

말로 설명하려니 어렵네