[C++] 입력 개수 모를 때 무한 반복문 제어 cin.eof()

2022. 9. 26. 20:32·🍞 Algorithm/C++

무한 반복문을 제어하는 문제를 풀다가 막혀서 정리하고자 한다. 

데이터 소스에서 더 이상 읽을 데이터가 없어 EOF(End Of File)를 리턴하면 종료해야 하므로

EOF가 true면 반복문을 탈출하도록 만든다.

 

EOF: 입력의 끝

 

"입력의 끝"(eof)에 다다랐다면, 반복문에서 탈출한다라는 뜻을 가진 구문이다.

if (cin.eof() == 1) { break; }

 

ex) https://www.acmicpc.net/problem/14909

 

14909번: 양수 개수 세기

첫째 줄에 최대 1,000,000개의 정수가 주어진다. 입력으로 주어지는 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같다.

www.acmicpc.net

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);
	
	int cnt = 0;
	while (1) {
		int n;
		cin >> n;
		if (cin.eof() == 1) break;
		if (n > 0) cnt++;
	}
	cout << cnt;
}
저작자표시 (새창열림)

'🍞 Algorithm > C++' 카테고리의 다른 글

[C++] 코딩테스트 알고리즘 c++ 문법 정리  (2) 2024.02.24
[C++] 백트래킹, 순열, 조합, 부분집합, 중복순열, next_permutation  (0) 2024.02.23
[C++] 문자열 자르기 사용법 substr()  (2) 2022.09.27
'🍞 Algorithm/C++' 카테고리의 다른 글
  • [C++] 코딩테스트 알고리즘 c++ 문법 정리
  • [C++] 백트래킹, 순열, 조합, 부분집합, 중복순열, next_permutation
  • [C++] 문자열 자르기 사용법 substr()
박빵이
박빵이
2025년에도 갓생살기
  • 박빵이
    기억보다 기록
    박빵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (337)
      • 🍞 FrontEnd (97)
        • HTML+CSS (4)
        • JavaScript (17)
        • TypeScript (4)
        • React (52)
        • Next.js (2)
        • Android (15)
      • 🍞 BackEnd (24)
        • Java (15)
        • Node.js (6)
        • Spring (1)
      • 🍞 Cloud & Infra (0)
        • AWS SAA (0)
        • Microsoft Azure (0)
      • 🍞 Algorithm (147)
        • C++ (4)
        • Baekjoon (41)
        • Programmers (97)
      • 🍞 Computer Science (18)
        • 운영체제 (1)
        • 데이터 통신 (6)
        • 네트워크 (6)
        • 데이터베이스 (1)
      • 🍞 대외활동 & 부트캠프 (42)
        • 삼성 청년 SW 아카데미 (1)
        • LG유플러스 유레카 (0)
        • 한국대학생IT경영학회 (1)
        • IT연합동아리 UMC (17)
        • 길벗 블로깅 멘토 (18)
        • IT연합동아리 피로그래밍 (3)
        • 개발 컨퍼런스 (2)
  • 블로그 메뉴

    • Admin
  • 링크

    • GitHub
  • 인기 글

  • 태그

    위상정렬
    코틀린
    백준
    JavaScript
    안드로이드
    프로그래머스
    react
    Java
    유니온파인드
    Android
    길벗 블로깅 멘토링
    level1
    코딩자율학습
    level2
    길벗 블로깅 멘토
    알고리즘
    map
    Front
    umc
    C++
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박빵이
[C++] 입력 개수 모를 때 무한 반복문 제어 cin.eof()
상단으로

티스토리툴바