반응형
-
입력 받는 방법 cin()
아래와 같이 cin을 사용하면 공백(' ')과 엔터('\n')가 나오면 입력 종료로 간주한다.
cin 을 이용하면 문자와 문자열 모두 입력 받을 수 있다.
#include <iostream>
int main()
{
int H, W;
cin >> H >> W;
char array[MAX][MAX]={0,};
for(int r=0; r<H; ++r)
{
for(int c=0; c<W; ++c)
{
cin >> array[r][c];
}
}
return;
}
//입력 예시
3 4
# . . #
# . . #
# # # #
각 문자마다 공백을 넣어줘야만 array[][]에 각각 따로 들어간다.
-
한 글자(char)씩 입력 받는 방법
개행 문자를 입력 큐에 넣어둔다. 따라서 한 글자씩 읽어올 수 있다.
문자만 입력 받을 수 있다.
#include <iostream>
int main()
{
int H, W;
cin >> H >> W;
char array[MAX][MAX]={0,};
for(int r=0; r<H; ++r)
{
for(int c=0; c<W; ++c)
{
char ch = cin.get();
if( ch == '\n' ) // 개행 문자('\n')가 저장되어 있는 경우, 다음 문자를 읽어온다.
{
ch = cin.get();
}
array[r][c] = cin.get();
}
}
return;
}
//입력 예시
3 4
#..#
#..#
####
* 위에서 개행문자를 확인하지 않을 경우 ?
위의 코드에서 개행 문자 예외처리를 주석하고 입력받는다면 아래와 같이 저장된다.
#include <iostream>
int main()
{
int H, W;
cin >> H >> W;
char array[MAX][MAX]={0,};
for(int r=0; r<H; ++r)
{
for(int c=0; c<W; ++c)
{
char ch = cin.get();
//if( ch == '\n' ) // 개행 문자('\n')가 저장되어 있는 경우, 다음 문자를 읽어온다.
//{
// ch = cin.get();
//}
array[r][c] = cin.get();
}
}
return;
}
//입력 예시
3 4
#..#
#..#
####
개행문자를 따로 처리해주지 않을 경우, array에 개행문자도 들어가게 된다.
array는 아래처럼 저장하게 된다.
// array
#..#
\n#..
#\n##
반응형