Dùng danh sách liên kết đơn cộng hai đa thức bất kỳ

Quyết tâm học

Latest topics

» Chúc Mừng Sinh Nhật h20 kute
by Admin Tue Aug 02, 2011 1:06 pm

» Hello my best friends
by moonngoc Mon Jun 27, 2011 8:28 pm

» Chúa Tể Của Những Chiếc Nhẫn II: Hai ngọn tháp
by nghiepanthi Tue Jun 14, 2011 7:06 am

» Bài cây nhị phân
by Admin Sat Jun 04, 2011 10:15 am

» Tắc kè hoa - Rango
by nghiepanthi Fri Jun 03, 2011 6:53 am

» Mong ước kỷ niệm xưa
by Admin Tue May 31, 2011 10:05 pm

» Giáo trình bài tập thực hành
by Admin Tue May 31, 2011 7:03 pm

» Sẵn sàng cho kỳ thi tốt nghiệp THPT 2011
by Admin Tue May 31, 2011 6:49 pm

» Thi tốt nghiệp năm học 2010-2011
by Admin Tue May 31, 2011 6:43 pm

» Nhập thêm phần tử mà không làm thay thứ tự phần tử không giảm trong danh sách
by Admin Tue May 31, 2011 5:20 pm

» Mẫu gửi quà tặng
by Admin Tue May 31, 2011 11:21 am

» Bài tập 101
by Admin Tue May 31, 2011 9:50 am

» Bài tập 97
by Admin Tue May 31, 2011 9:50 am

» Bài tập 93
by Admin Tue May 31, 2011 9:49 am

» Bài tập 92
by Admin Tue May 31, 2011 9:49 am

» Bài tập 91
by Admin Tue May 31, 2011 9:48 am

» Bài tập 90
by Admin Tue May 31, 2011 9:48 am

» Bài tập 85
by Admin Tue May 31, 2011 9:47 am


You are not connected. Please login or register

Dùng danh sách liên kết đơn cộng hai đa thức bất kỳ

Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

Admin

Admin
Admin

R(x) =P(x)+Q(x)
Với
P(x)=a0xn+a1xn-1+…+an
Q(x)=b0xm+b1xm-1+…+bm
Lời giải mẫu
using System;
class Node
{
public int hs;
public int mu;
public Node next;
}
class DaThuc
{
static Node P, Q, R;
static void Nhap(out Node l)
{
Console.WriteLine("Nhap thong tin cho da thuc");
int i = 1; l = null; Node tg; char kt;
do
{
Console.WriteLine("Nhapa thong tin cho phan tu thu:" + i);
tg = new Node();
Console.Write("He so:"); tg.hs = int.Parse(Console.ReadLine());
Console.Write("Mu:"); tg.mu = int.Parse(Console.ReadLine());
tg.next = null;
Add(ref l, tg);
Console.WriteLine("Ban nhap tiep C/K"); kt = char.Parse(Console.ReadLine());
} while (char.ToUpper(kt) == 'C');
}
static void Add(ref Node l, Node tg)
{
if (l == null) l = tg;
else
{
Node p = l, t = l;
while (p != null && p.mu < tg.mu)
{
t = p;
p = p.next;
}
//Neu mu da co
if (p != null && tg.mu == p.mu)
p.hs = p.hs + tg.hs;
else
//Them vao dau
if (p == l)
{
tg.next = l;
l = tg;
}
//Them vao sau
else if (p == null && t.next == null) t.next = tg;
//Them vao giua
else
{
tg.next = p;
t.next = tg;
}
}
}
static void Hien(Node l)
{
Node tg = l;
string kq = "";
while (tg != null)
{
if (tg.mu == 0) kq = kq + tg.hs;
else if (tg.mu == 1) kq = kq + (tg.hs > 0 ? "+" : "-") + tg.hs + "X";
else kq = kq + (tg.hs > 0 ? "+" : "-") + tg.hs + "X^" + tg.mu;
tg = tg.next;
}
Console.WriteLine(kq);
}
static void Tong()
{
R = null;
Node tmp = P, tg;
while (tmp != null)
{
tg = new Node();
tg.hs = tmp.hs;
tg.mu = tmp.mu;
tg.next = null;
Add(ref R, tg);
tmp = tmp.next;
}
tmp = Q;
while (tmp != null)
{
tg = new Node();
tg.hs = tmp.hs;
tg.mu = tmp.mu;
tg.next = null;
Add(ref R, tg);
tmp = tmp.next;
}
}
//Ham thuc hien cac chuc nang cua chuong trinh
static void Main()
{
Console.WriteLine("Nhap thong tin da thuc P");
Nhap(out P);
Hien(P);
Console.WriteLine("Nhap thong tin da thuc Q");
Nhap(out Q);
Hien(Q);
Console.WriteLine("Tong hai da thuc");
Tong();
Hien(R);
Console.ReadKey();
}
}

http://lecongphuc92.ohmylife.net

Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Permissions in this forum:
Bạn không có quyền trả lời bài viết