inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Hoàn thành C++ Coding Test trong 10 tuần | Thuật toán Coding Test

교안 21쪽의 예제 질문 있습니다.

164

horizon

4 câu hỏi đã được viết

0

 
 
안녕하세요 큰돌님
 
 
교안 21쪽에 scanf로 받기 에서 예제로 나온 문제에서
 
 
 
cin >> n >> m; 이부분에 대한 변수 선언이 없는것 같은데 예제가 맞는건가요?
 
 
 
#include<bits/stdc++.h>

using namespace std;

int a[10][10];

int main() {
	
	cin >> n >> m;
	for(int i=0; i<n; i++) {
		for(int j = 0; j < m; j++) {
			scanf("%1d", &a[i][j]);
		}
	}
	
	return 0;
}

 

그리고 밑에 eof 이용한 예제인

 

while (scanf("%d", &n) != EOF)

while (cin >> n)

 

이거랑

 

while(!cin.eof()) {

cin >> n;

}

 

이거랑 비슷한 방법인가요?

밑에 코드는 입력이 되는데 엔터 후에도 계속되더가 ctrl+z 누르면 종료가 되는데

 

교재에 나와 있는 코드는 그냥 엔터 누르면 멈춰 버리는 것 같아서 여쭤봅니다. 

 

 

 

 

교안 C++ 코테 준비 같이 해요!

Câu trả lời 1

0

kundol

안녕하세요. wnstn2844님. 

 

1. n, m은 변수를 추가해서 교안을 다시 올렸습니다. 변수가 추가가 안되어 있네요 ㄷㄷ

 

2. 음.. 그게 아니구요. 

 

scanf와 cin은 다르게 해야 합니다. 

 

while (scanf("%d", &n) != EOF) 

while (cin >> n) // cin으로는 이렇게 하면 됩니다

 

제가 cin에다가 eof를 기반으로 하라고 한 적도 없구요.

실행하기 좋게 예시를 들어 설명하자면 다음과 같습니다. 

1안) scanf로 할 때

#include <bits/stdc++.h>
using namespace std;
//1안
int n; 
int main(){
while (scanf("%d", &n) != EOF) {
cout << 1 << '\n';
}
}

2안) cin으로 할 때

#include <bits/stdc++.h>
using namespace std;

//2안
int n; 
int main(){
while (cin >> n) {
cout << 1 << '\n';
}
}

 

감사합니다. 

강사 큰돌 올림.

 

 

[교안] 질문입니다.

0

369

1

1-E질문입니다!

0

508

2

3-L 틀린 부분 피드백 부탁드립니다.

0

811

2

1-A문제 순열재귀함수 질문입니다.

0

376

1

1-A 일곱난쟁이문제입니다

0

451

1

문제 풀 때 방향성에 대해

0

793

1

맥에서 vs code로 실행 관련 질문입니다

0

515

1

17071번 메모리 초과

0

381

1

1-C질문입니다!

0

411

2

2-B BFS 시간초과질문

0

622

2

1-O 13번 라인

0

434

1

6-J 놀이공원 문제 질문

0

375

1

구현관련 질문

0

478

1

강의 교안

0

313

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

541

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

531

1

1-K

0

468

2

3-G번 질문있습니다.

1

464

3

3-C 실행 시간 질문드립니다.

0

489

1

4-A 문제 풀이 질문있습니다.

0

586

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

430

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

329

1

3-O go 함수 질문 드립니다.

1

437

2

4-A 출력 질문

0

298

1