메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 C 프로그래밍

뇌를 자극하는 C 프로그래밍 질의응답 게시판입니다.

468페이지 Exercise 16-2 // ap 초기화질문이요

2017-01-20

|

by 기나규

1784

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

 
#include <stdio.h>
#include <stdlib.h>
 
int main() {
    int *ap[3], *bp[3], *cp[3]; // 행렬의 각 행을 연결할 포인터배열
    int i, j;
 
    for (i = 0; i < 3; i++) { // 3개의 2차원배열을 동적으로 만든다.
        ap[i] = (int *)malloc(4 * sizeof(int));
        bp[i] = (int *)malloc(4 * sizeof(int));
        cp[i] = (int *)malloc(4 * sizeof(int));
    }
 
    for (i = 0; i < 3; i++) { // 2개의 행렬에 값을 초기화하며
        for (j = 0; j < 4; j++) { // 각 요소의 합을 3번쨰 행렬에 저장한다.
            ap[i][j] = (i * 4 + j * 1+ 1// 1~12 초기화
            bp[i][j] = 12 - (i * 4 + j); // 12~1 초기화
            cp[i][j] = ap[i][j] + bp[i][j]; // ap, bp 각 배열요소 합
        }
    }
 
    for (i = 0; i < 3; i++) { // cp 행렬의 값을 출력한다.
        for (j = 0; j < 4; j++) {
            printf("%5d", cp[i][j]);
        }
        printf(" ");
    }
cs

 

18번줄에

            ap[i][j] = (i * 4 + j * 1+ 1// 1~12 초기화
ap[i][j] = i * 4 + j * 4 이렇게 답안지에나와있는대
이대로하면 ap의 행렬값이 0,1,2,3,4,5,6,7,8,9,10,11 이렇게 12개가나오는대
전체를 괄호로 묶어서 1를 더해줘야하는거 아닌가요? 책이 오탈ㄴ난건가요? 제가 잘못입력한건가요?ㅠㅠ

 

댓글 입력
자료실