목차
■ 문제 접근방법 및 분석
■ 소스코드 및 주석
■ 실행화면
■ 느낀점
■ 소스코드 및 주석
■ 실행화면
■ 느낀점
본문내용
_p[i] * sma_p[j];
}
}
for (int i=0; i
{
res = res + temp[i];
}
return res;
}
void polynomial::print() //계산한 다항식 출력
{
for (int i=0, j=m_jisu; i<=m_jisu; i++)
{
cout << m_gyesu[i] << "x^" << j-- ;
if (i == m_jisu)
break;
cout << " + ";
}
cout << endl;
}
void polynomial::cal(float _x) //다항식 결과값 계산
{
float cc=0;
float x=_x;
for (int k=0; k<=m_jisu; k++)
{
cc=cc+ m_gyesu[k] * pow(x,m_jisu);
m_jisu--;
}
cout << cc ;
}
main.cpp
#include
#include
#include "polynomial.h"
using namespace std;
int main()
{
int jisu;
cout<<"**다항식 계산 프로그램**"<
cout<
cout << "A(x)의 가장 큰 차수: ";
cin >> jisu;
polynomial p1;
p1.SetJisu(jisu);
int * gyesu1 = new int[jisu+1];
cout << "A(x)의 계수: "<
for (int i=0; i<=jisu; i++)
cin >> gyesu1[i];
p1.SetGyesu(gyesu1);
delete [] gyesu1;
cout<<"A(x) = ";
p1.print();
int jisu2;
cout<
cout << "B(x)의 가장 큰 차수: ";
cin >> jisu2;
polynomial p2;
p2.SetJisu(jisu2);
int * gyesu2 = new int[jisu+1];
cout << "B(x)의 계수: "<
for (int i=0; i<=jisu2; i++)
cin >> gyesu2[i];
p2.SetGyesu(gyesu2);
delete [] gyesu2;
cout<<"B(x) = ";
p2.print();
polynomial p3;
p3 = p1 + p2; //다항식A(x) + B(x)계산
cout<
cout<<"A(x) + B(x) = ";
p3.print();
int jisu3;
cout<
cout << "C(x)의 가장 큰 차수: ";
cin >> jisu3;
polynomial p6;
p6.SetJisu(jisu3);
int * gyesu3 = new int[jisu+1];
cout << "C(x)의 계수: "<
for (int i=0; i<=jisu3; i++)
cin >> gyesu3[i];
p6.SetGyesu(gyesu3);
delete [] gyesu3;
cout<<"C(x) = ";
p6.print();
polynomial p5;
p5 = p3 * p6; //다항식{A(x) + B(x)} * C(x)계산
cout<
cout<<"{A(x) + B(x)} * C(x) = ";
p5.print();
float x; //결과값 x입력
cout<
cout<<"x값 입력:";
cin>>x;
cout<<"결과값 = ";
p5.cal(x);
cout<
return 0;
}
■ 실행화면
■ 느낀점
이번과제는 3개의 다항식을 입력받아 덧셈과 곱셈을 구하는 것이었다. 처음 수업 들을때는 내용이 잘 이해되어 과제를 쉽게 할수 있을꺼라 예상하였으나, 나의 예상을 보란 듯이 빗나갔다. 다항식을 입력하는것까지는 쉽게 하였으나, 입력한뒤 연산을 하는 과정이 많이 어려웠다. 하여 다른 자료를 찾아 연산과정을 이해하고 나서야 어느정도 프로그램을 짤수가 있었다. 이번과제는 지난번 과제에서 이용하였던 연산자오버로딩을 이용하여 프로그램을 짤수 있었는데, 앞으로도 이처럼 계속 연관되는 과제가 나올꺼라 예상된다. 아직 많이 부족한 편인지라 남들보다 뒤처지지 않고 앞서 나갈려면 부단히 노력해야 겠다.
}
}
for (int i=0; i
res = res + temp[i];
}
return res;
}
void polynomial::print() //계산한 다항식 출력
{
for (int i=0, j=m_jisu; i<=m_jisu; i++)
{
cout << m_gyesu[i] << "x^" << j-- ;
if (i == m_jisu)
break;
cout << " + ";
}
cout << endl;
}
void polynomial::cal(float _x) //다항식 결과값 계산
{
float cc=0;
float x=_x;
for (int k=0; k<=m_jisu; k++)
{
cc=cc+ m_gyesu[k] * pow(x,m_jisu);
m_jisu--;
}
cout << cc ;
}
main.cpp
#include
#include
#include "polynomial.h"
using namespace std;
int main()
{
int jisu;
cout<<"**다항식 계산 프로그램**"<
cin >> jisu;
polynomial p1;
p1.SetJisu(jisu);
int * gyesu1 = new int[jisu+1];
cout << "A(x)의 계수: "<
cin >> gyesu1[i];
p1.SetGyesu(gyesu1);
delete [] gyesu1;
cout<<"A(x) = ";
p1.print();
int jisu2;
cout<
cin >> jisu2;
polynomial p2;
p2.SetJisu(jisu2);
int * gyesu2 = new int[jisu+1];
cout << "B(x)의 계수: "<
cin >> gyesu2[i];
p2.SetGyesu(gyesu2);
delete [] gyesu2;
cout<<"B(x) = ";
p2.print();
polynomial p3;
p3 = p1 + p2; //다항식A(x) + B(x)계산
cout<
p3.print();
int jisu3;
cout<
cin >> jisu3;
polynomial p6;
p6.SetJisu(jisu3);
int * gyesu3 = new int[jisu+1];
cout << "C(x)의 계수: "<
cin >> gyesu3[i];
p6.SetGyesu(gyesu3);
delete [] gyesu3;
cout<<"C(x) = ";
p6.print();
polynomial p5;
p5 = p3 * p6; //다항식{A(x) + B(x)} * C(x)계산
cout<
p5.print();
float x; //결과값 x입력
cout<
cin>>x;
cout<<"결과값 = ";
p5.cal(x);
cout<
}
■ 실행화면
■ 느낀점
이번과제는 3개의 다항식을 입력받아 덧셈과 곱셈을 구하는 것이었다. 처음 수업 들을때는 내용이 잘 이해되어 과제를 쉽게 할수 있을꺼라 예상하였으나, 나의 예상을 보란 듯이 빗나갔다. 다항식을 입력하는것까지는 쉽게 하였으나, 입력한뒤 연산을 하는 과정이 많이 어려웠다. 하여 다른 자료를 찾아 연산과정을 이해하고 나서야 어느정도 프로그램을 짤수가 있었다. 이번과제는 지난번 과제에서 이용하였던 연산자오버로딩을 이용하여 프로그램을 짤수 있었는데, 앞으로도 이처럼 계속 연관되는 과제가 나올꺼라 예상된다. 아직 많이 부족한 편인지라 남들보다 뒤처지지 않고 앞서 나갈려면 부단히 노력해야 겠다.