ëŠ�ë‚€ì � ¶
ë¬¸ì œì—� ìž…ë ¥ì—� 대한 ì •í™•í•œ 설명ì�´ 없어서, 대강 소스ì—� 넣었다.
그냥 파ì�¼ë¡œ ì¶œë ¥í• ê¹Œ 하다가, ì–´ë–»ê²Œë“ ë°˜ë³µì�„ í”¼í•´ë³´ê³ ìž� 버í�¼ë¥¼ 넣었ë�”니 ë�” 복잡해졌다.
ì�Œ... @.@ 파ì�¼ì�€ ì ‘ê·¼ì�´ ì–´ë µë‹¤ëŠ” 단ì �ì�´..;;ã…�;;
그냥 파ì�¼ë¡œ ì¶œë ¥í• ê¹Œ 하다가, ì–´ë–»ê²Œë“ ë°˜ë³µì�„ í”¼í•´ë³´ê³ ìž� 버í�¼ë¥¼ 넣었ë�”니 ë�” 복잡해졌다.
ì�Œ... @.@ 파ì�¼ì�€ ì ‘ê·¼ì�´ ì–´ë µë‹¤ëŠ” 단ì �ì�´..;;ã…�;;
소스 ¶
~cpp
#include <iostream>
#include <fstream>
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<INPUT_MAX; i++){
write_temp[1][i*SIZE_OF_BLOCK+8]=write_temp[1][i*SIZE_OF_BLOCK+10]=write_temp[3][i*SIZE_OF_BLOCK+8]=write_temp[3][i*4+10]=' ';
if (10<=i)
write_temp[1][i*SIZE_OF_BLOCK+8]=i/10+NUMBER_TO_CHAR;
write_temp[1][i*SIZE_OF_BLOCK+9]=i%10+NUMBER_TO_CHAR;
if (10<=input[i])
write_temp[3][i*SIZE_OF_BLOCK+8]=input[i]/10+NUMBER_TO_CHAR;
write_temp[3][i*SIZE_OF_BLOCK+9]=input[i]%10+NUMBER_TO_CHAR;
write_temp[1][i*SIZE_OF_BLOCK+11]=write_temp[3][i*SIZE_OF_BLOCK+11]='|';
}
for (register int i=0; i<SIZE_OF_LINE; ++i){
for (register int j=0; j<8+INPUT_MAX*4; ++j)
outputFile << write_temp[i][j];
outputFile << '\n';
}
outputFile << "# Horner Function Value ----> "<< 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 <string.h> í—¤ë�”파ì�¼ë�„ ì�¨ì£¼ì…”야 í• ë“¯.
3. ë˜�한 register int i ì�´ê±´ 맨처ì�Œ 한번만 ì„ ì–¸í•´ì£¼ì‹œê³ ë‚˜ë¨¸ì§€ iì—�서는 그냥 ië§Œ ì�¨ì£¼ì…”야 í• ë“¯ í•´ìš”. 반복 ì„ ì–¸ì�€ 좀 무리ì�¼ë“¯ .ì œ ì§§ì�€ 소견ì�´ì—ˆìŠµë‹ˆë‹¤.-남ë�„ì—°
â”” í—¤ë�”파ì�¼ ì—�러나는건 표준ì�´ì „ì—� 나온 컴파ì�¼ëŸ¬(97ë…„ ì�´ì „)를 ì�¨ì„œ 그러는ë�° C++표준 í—¤ë�”는 확장ìž�ê°€ 붙지 않습니다. 97ë…„ ì�´í›„ì—� 나온 컴파ì�¼ëŸ¬ë¥¼ ì�¨ë³´ì„¸ìš”. - ì�´ìž¬í˜�
â”” ê·¸ë ‡êµ°ìš”!! ê·¼ë�° 그걸 어디서 구한담;; 난ê°�하네요 ^^;; ì¡°ì–¸ ê°�사합니다
-남�연
1. ë¨¼ì € í—¤ë�” 파ì�¼ì—� .h를 붙여 ì£¼ì‹œê³ ìš”.
2. strcpy를 ì�¼ìœ¼ë©´ #include <string.h> í—¤ë�”파ì�¼ë�„ ì�¨ì£¼ì…”야 í• ë“¯.
3. ë˜�한 register int i ì�´ê±´ 맨처ì�Œ 한번만 ì„ ì–¸í•´ì£¼ì‹œê³ ë‚˜ë¨¸ì§€ iì—�서는 그냥 ië§Œ ì�¨ì£¼ì…”야 í• ë“¯ í•´ìš”. 반복 ì„ ì–¸ì�€ 좀 무리ì�¼ë“¯ .ì œ ì§§ì�€ 소견ì�´ì—ˆìŠµë‹ˆë‹¤.-남ë�„ì—°
â”” í—¤ë�”파ì�¼ ì—�러나는건 표준ì�´ì „ì—� 나온 컴파ì�¼ëŸ¬(97ë…„ ì�´ì „)를 ì�¨ì„œ 그러는ë�° C++표준 í—¤ë�”는 확장ìž�ê°€ 붙지 않습니다. 97ë…„ ì�´í›„ì—� 나온 컴파ì�¼ëŸ¬ë¥¼ ì�¨ë³´ì„¸ìš”. - ì�´ìž¬í˜�
â”” ê·¸ë ‡êµ°ìš”!! ê·¼ë�° 그걸 어디서 구한담;; 난ê°�하네요 ^^;; ì¡°ì–¸ ê°�사합니다
-남ë�„ì—°register int i를 여러번 ì“´ 것ì�€ 메모리 ë‚비를 ì �ê²Œí•˜ë ¤ëŠ” ìƒ�ê°�ì�´ì—ˆìŠµë‹ˆë‹¤. 그냥 메모리ë�„ ì•„ë‹ˆê³ ë ˆì§€ìŠ¤í„° 메모리를 프로그램 시작부터 ë��까지 ìž¡ê³ ìžˆì�„ 필요는 ì—†ì�„것 같았답니다.^^
ê·¸ë¦¬ê³ ì œê°€ 사용한 컴파ì�¼ëŸ¬(비주얼 .NET) ì�€ ì €ì—�게 ë§�하면 미소녀는 무료, ì�¼ë°˜ì�¸ì�€ ë°¥ 한ë�¼, 미소년ì�€ 무한ë�¼ì—� FTP나 HTTP로 ì œê³µí•´ë“œë¦¬ê³ ìžˆìŠµë‹ˆë‹¤.^^
ì°¸ê³ ë¡œ ì˜¬ë ¤ì§„ 소스들ì�€ 모ë‘� ì •ìƒ�ì �ì�¸ ìž‘ë�™ 테스트를 거친 뒤였습니다.^^ - 조현태
ê·¸ë¦¬ê³ ì œê°€ 사용한 컴파ì�¼ëŸ¬(비주얼 .NET) ì�€ ì €ì—�게 ë§�하면 미소녀는 무료, ì�¼ë°˜ì�¸ì�€ ë°¥ 한ë�¼, 미소년ì�€ 무한ë�¼ì—� FTP나 HTTP로 ì œê³µí•´ë“œë¦¬ê³ ìžˆìŠµë‹ˆë‹¤.^^
ì°¸ê³ ë¡œ ì˜¬ë ¤ì§„ 소스들ì�€ 모ë‘� ì •ìƒ�ì �ì�¸ ìž‘ë�™ 테스트를 거친 뒤였습니다.^^ - 조현태










