게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
cpu에 따라서 결과가 달라질 수 있나요
게시물ID : programmer_16370짧은주소 복사하기
작성자 : 카토리
추천 : 0
조회수 : 560회
댓글수 : 2개
등록시간 : 2016/03/26 17:05:06
옵션
  • 본인삭제금지
#include <iostream>
#include <fstream>
 

using namespace std;
 

int load(); // 데이터파일의 데이터를 읽어들이는 함수
void store(int data); // 데이터파일에 연산한 데이터를 저장하는 함수
int add(int i, int j); // 읽어들인 데이터에 +1 해주는 함수
 

int main()
{
int x;
for(int i=0; i<1000; i++) // 3개의 함수 1000번 반복
{
x = load();
x = add(x, 1);
store(x);
}
}
 

int load()
{
ifstream instreamFile("input.txt"); // 파일 읽기
int las; // 읽어들인 파일을 저장할 공간
while(!instreamFile.eof()) // 파일이 끝날때까지 반복
{
instreamFile>>las; // lasinput.txt 내용 저장
}
return las; // las 반환
instreamFile.close(); // 파일 닫기
}
 

void store(int data)
{
ofstream file("input.txt", ios_base::app); // 파일을 맨 끝 부분에 추가하도록 불러들임
file<<" "<<data;
file.close(); // 파일 닫기
}
 

int add(int i, int j)
{
return i+j
}
 
 
 
 
-----------------------------------------------------------
 
우선, 주석을 달아놓긴 했으나 파일 의도 자체는
input.txt에 0부터 1000까지의 값을 입력하도록 구현한 것인데요.
 
이게 실행파일을 하나만 실행하면
 
정상적으로 0~1000의 값이 순서대로 입력되지만,
 
 n개를 만들어서 동시 실행 (드래그로 여러개 선택해서 엔터, 혹은 열기) 하면
 
1000*n 만큼의 값이 입력이 되는게 아니라 그보다 적은 수 (가령이면 저는 2270) 까지만 입력이 되더라구요.
 
과제를 하다가 좀 신박해서 여쭤봅니다.
 
이유가 무엇인가요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호