=== 느낀점 === 문제에 입력에 대한 정확한 설명이 없어서, 대강 소스에 넣었다. 그냥 파일로 출력할까 하다가, 어떻게든 반복을 피해보고자 버퍼를 넣었더니 더 복잡해졌다. 음... @.@ 파일은 접근이 어렵다는 단점이..;;ㅁ;; === 소스 === {{{~cpp #include #include using namespace std; int input[11] = {3,3,3,3,3,3,3,3,3,3,3} ; const int INPUT_MAX=11; int x; int number_of_sum=0; int number_of_multiply=0; int Horner(int); void main() { const int SIZE_OF_LINE=5; const int NUMBER_TO_CHAR=48; const int SIZE_OF_BLOCK=4; cout << "x의 값을 입력해주세요.>>"; cin >> x; ofstream outputFile("aswer.txt"); char write_temp[SIZE_OF_LINE][8+INPUT_MAX*SIZE_OF_BLOCK]; for (register int i=0; i<8+INPUT_MAX*4; i++) write_temp[0][i]=write_temp[2][i]=write_temp[4][i]='='; strcpy(write_temp[1]," |index|"); strcpy(write_temp[3]," | data|"); for (register int i=0; i "<< Horner(0) << "\n"; outputFile << "# Horner ADD Count ----> "<< number_of_sum << "\n"; outputFile << "# Horner Multiply Count ----> "<< number_of_multiply << "\n"; outputFile.close(); } int Horner(int number) { if (INPUT_MAX-1==number) return input[number]; else{ ++number_of_multiply; ++number_of_sum; return Horner(number+1)*x+input[number]; } } }}} === 저에게 할말~'ㅇ')/ === 프로그램 돌리면 에러가 뜹니다. 1. 먼저 헤더 파일에 .h를 붙여 주시고요. 2. strcpy를 썼으면 #include 헤더파일도 써주셔야 할듯. 3. 또한 register int i 이건 맨처음 한번만 선언해주시고 나머지 i에서는 그냥 i만 써주셔야 할듯 해요. 반복 선언은 좀 무리일듯 .제 짧은 소견이었습니다.-[남도연] └ 헤더파일 에러나는건 표준이전에 나온 컴파일러(97년 이전)를 써서 그러는데 C++표준 헤더는 확장자가 붙지 않습니다. 97년 이후에 나온 컴파일러를 써보세요. - [이재혁] └ 그렇군요!! 근데 그걸 어디서 구한담;; 난감하네요 ^^;; 조언 감사합니다 ^^ -[남도연] register int i를 여러번 쓴 것은 메모리 낭비를 적게하려는 생각이었습니다. 그냥 메모리도 아니고 레지스터 메모리를 프로그램 시작부터 끝까지 잡고있을 필요는 없을것 같았답니다.^^ 그리고 제가 사용한 컴파일러(비주얼 .NET) 은 저에게 말하면 미소녀는 무료, 일반인은 밥 한끼, 미소년은 무한끼에 FTP나 HTTP로 제공해드리고 있습니다.^^ 참고로 올려진 소스들은 모두 정상적인 작동 테스트를 거친 뒤였습니다.^^ - [조현태] ---- [LittleAOI] [호너의법칙]