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

한빛미디어

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

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

2차 배열의 포인터에 대한것도 설명이 있었으면...

2009-04-01

|

by KPU

2312

13장 Exercise 13-4에 대한 내용을 보다가

다차원 배열에 대한 부분에서 포인터를 사용하지 않는것을 보고 아쉬워서 글 남깁니다.

13장까지 열심히 포인트 설명하다가

13장의 Exercise 13-4의 모범답안을 보니 -_-;

갑자기 단순 반복문이 등장을 ....;

Exercise가 -_-; 뜬금없이 챕터도 다른 내용을 물어볼리는 없고;;;

아래는 vs2005에서 작성한 Exercise 13-4의 c++ 소스입니다;


#include
#include

void small_or_big_2_9(const int x)
{
        if ( x > 9 || x < 2 )
                std::cout << " 2 에서 9 사이의 값을 입력하세요 \n";
};

void small_or_big_1_9(const int y)
{
        if ( y > 9 || y < 1 )
                std::cout << " 1 에서 9 사이의 값을 입력하세요 \n";
};

int main()
{
        int arr[10][10] = {0}; // 모든배열 초기화
        int (*p)[10][10] = (int(*)[10][10])arr; // 혹은 int (*p)[10][10] = &arr;

        for (int i=2; i <= 9; i++)
        {
                for (int j=1; j <= 9; j++)
                {
                        (*p)[i][j] = i*j;
                }
        }

        int x=0, y=0;
        // KPU 만세 2007132062 //
        do
        {
                std::cout << "arr[x]의 값은? ";
                std::cin >> x;
                small_or_big_2_9(x);
        }while( x<2 || x>9 );
        
        do
        {
                std::cout << "arr[y]의 값은? ";
                std::cin >> y;
                small_or_big_1_9(y);
        }while( y<1 || y>9 );

        // 결과값을 뿜어주자~
        std::cout << "arr[" << x << "][" << y << "] = " << (*p)[x][y] << std::endl;

        // 추가소스
        std::cout
                << " 전체 배열을 보길 원하면 아무키나 입력해주세요 "
                << std::endl
                << " 종료를 원하시면 .키를 눌러주세요 "
                << std::endl;

        if(!(getch()==.))
        {
                for (int i=0; i < 10 ; ++i)
                {
                        for (int j=0; j < 10 ; ++j)
                        {
                                std::cout << i << "." << j << "=" << (*p)[i][j] <<"\t";
                        }
                        std::cout << std::endl;
                }
        }


        return 0;

}
댓글 입력
자료실