#include <stdio.h>
#include <conio.h>
#include <malloc.h>
typedef struct Node{
int heso;
int somu;
Node* Next;
};
typedef Node* DaThuc;
void ktRong(DaThuc &dt){
dt = (Node*)malloc(sizeof(Node));
dt->Next = NULL;
}
void them(int hs,int sm, DaThuc &dt){
if (hs==0)
return;
DaThuc p = dt;
while(p->Next!=NULL){
p=p->Next;
}
Node* t = (Node*)malloc(sizeof(Node));
t->heso = hs;
t->somu = sm;
t->Next = NULL;
p->Next = t;
}
void congDT(DaThuc dt1,DaThuc dt2, DaThuc &dt3){
DaThuc p = dt1;
DaThuc q = dt2;
while(p->Next!=NULL && q->Next!=NULL){
if (p->Next->somu > q->Next->somu){
them(p->Next->heso,p->Next->somu,dt3);
p=p->Next;
}
else if (p->Next->somu < q->Next->somu){
them(q->Next->heso,q->Next->somu,dt3);
q=q->Next;
}
else{
them(p->Next->heso + q->Next->heso,p->Next->somu,dt3);
p=p->Next;
q=q->Next;
}
}
while(p->Next != NULL){
them(p->Next->heso,p->Next->somu,dt3);
p=p->Next;
}
while(q->Next != NULL){
them(q->Next->heso,q->Next->somu,dt3);
q=q->Next;
}
}
void inDT(DaThuc dt){
DaThuc p = dt->Next;
while(p!=NULL){
if (p->somu==1)
printf("%dx",p->heso);
else if (p->somu==0)
printf("%d",p->heso);
else
printf("%dx^%d",p->heso,p->somu);
p=p->Next;
if (p!=NULL && p->heso>=0)
printf("+");
}
}
int main(){
DaThuc dt1,dt2;
ktRong(dt1);
ktRong(dt2);
them(4,6,dt1);
them(3,5,dt1);
them(-3,1,dt1);
them(2,0,dt2);
them(6,-4,dt2);
printf("Da thuc 1: ");
inDT(dt1);
printf("\nDa thuc 2: ");
inDT(dt2);
DaThuc dt3;
ktRong(dt3);
congDT(dt1,dt2,dt3);
printf("\nDa thuc 3: ");
inDT(dt3);
return 0;
}
Home
»
Cấu trúc dữ liệu
»
Cấu trúc dữ liệu và giải thuật
» Cấu trúc dữ liệu đa thức bằng danh sách liên kết
Thứ Tư, 3 tháng 9, 2014
Đăng ký:
Đăng Nhận xét (Atom)
Bài đăng phổ biến
-
* lưu ý: tính năng này yêu cầu bạn phải có kết nối Internet khi sử dụng phần mềm. Bạn vui lòng thực hiện các bước sau để đăng ký dùng miễn p...
-
Công cụ Đăng Ký Bản Quyền Sử Dụng Kế Toán Smart Pro ( 2.0 - 2.5 - 3.0) Video Hướng Dẫn Đăng Ký Bản Quyền Kế Toán Smart Pro (2.0 - 2.5 - 3.0)...
-
HTsoft POS .NET là phần mềm quản lý Kho-Bán hàng và Chăm sóc khách hàng chuyên nghiệp, áp dụng tốt cho nhiều lĩnh vực kinh doanh khác nhau ...
-
Acc: architer Acc: fcyenluong Pass: 020901sl Acc: nhux12 Pass: phuongx1 Acc: vodoixxz Pass: 123456789y Acc: thanhkhunglk23 Pass: 01642688017...
-
Clover 3.0.386 - Tạo Tabs File Explorer cho Windows 8.1 http://www.softpedia.com/progDownload/Clover-EJIE-Download-220301.html
-
Đề bài: nhập 2 số nguyên dương a,b. Tính ước số chung lớn nhất và bội chung nhỏ nhất của a,b. Bài giải: Cách 1: #include <stdio.h> int...
-
#include <conio.h> #include <stdio.h> #define max 100 /*Hàm nhập ma trận hệ số*/ void NhapMaTran ( float A [ max ][ max ], in...
-
Đề bài: nhận vào một chuỗi các ký tự. Hãy đảo ngược các ký tự trong chuỗi. Bài giải: #include <string.h> #include <stdio.h> int...
-
Có thể xài được nhưng cũng có thể không xài được nếu như chủ nhân đã đổi pass. Acc: hoanglinh1714 Pass: A01656101024LINH Acc: hieukenpt19999...
-
Bổ sung vào các chức năng đã có ở hai phiên bản trước, phần mềm Quản lý gia phả phiên bản Advanced được nâng cấp thêm các tính năng nổi trội...

0 nhận xét:
Đăng nhận xét