toàn bộ cái bai đấy đây a. Đề bài là nhập vào các hệ số của 1 đa thức và in ra đa thức đó.
ví dụ 1 + 2x + 3x^2 (nhập lần lượt 1, 2, 3)
1 là bậc 0
2 là bậc 1
3 là bậc 2
#include<iostream>
#include<stdlib.h>
using namespace std;
#define nmax 100
typedef float dathuc[nmax];
dathuc P, Q;
int m,n;
void xuatmu(int i)
{
if (i==1) cout<<"X";
else if(i>1) cout<<"X^"<<i;
}
void xuat(dathuc &K,int &x)
{
int i=0;
while (K[i]==0&&i<=x) i++;
cout<<K[i];xuatmu(i);
while (++i<=x)
{
if (K[i]>0) {cout<<" + "<<K[i];xuatmu(i);}
else if (K[i]<0) {cout<<" - "<<-K[i];xuatmu(i);}
}
}
void nhap(dathuc &K, int &x)
{
int i;
cout<<"Nhap bac cua da thuc: ";cin>>x;
for(i=0;i<=x;i++)
{
cout<<"Bac "<<i<<" : "; cin>>K[i];
}
}
int main(){
nhap(P,m);
xuat(P,m);
}
ở cái chỗ
void nhap(dathuc &K, int &x)
nếu để như thế thì em sẽ in ra được đa thức là 1 + 2x + 3x^2
còn nếu để
void nhap(dathuc K, int x)
thì nó chỉ ra được số 1 thôi ạ nghĩa là nó chỉ in ra 1 bậc đầu tiên