Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Tính tổng các phân số trong C???help me!!SOS

  1. #1
    Ngày gia nhập
    02 2009
    Bài viết
    0

    Unhappy Tính tổng các phân số trong C???help me!!SOS

    Em đang nhức đầu với bài tập tính tổng các phân số, chả biết hướng giải quyết như thế nào, mong mấy bro code giúp em, thanks mấy bro trước

    em chỉ mới bít cách nhập phân số như thế này nè:

    typedef struct _phanso{
    int tu;
    int mau;
    }PhanSo;

    // nhập phân số.
    void nhap(PhanSo &ps)
    {
    printf("\nNhap tu:");
    scanf("%d",&ps.tu);
    printf("\nNhap mau:");
    scanf("%d",&ps.mau);
    }

    // xuất
    void XuatPhanSo(PhanSo ps)
    {
    printf("%d / %d",ps.tu,ps.mau);
    }



    còn cái tính tổng thì em vẫn chưa nghĩ ra.hic
    Đã được chỉnh sửa lần cuối bởi tranvu007 : 28-04-2009 lúc 09:46 PM.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn dùng công thức hồi tiểu học đó : a/b + c/d = (ad + cb)/(bd)
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    02 2009
    Nơi ở
    105 Lô P c/c ngô gia tự P.02 Q.10 TP.hcm
    Bài viết
    37

    thank bạn nhe' bạn làm mình có cái đẻ làm toi lam tin tông cho n phân số và tim max cua nó luôn
    Code:
    #include<stdio.h>
    #include<math.h>
    typedef struct PhanSo
    {
    	int tu,mau;
    }PS;
    int UTLN(int a,int b)
    {
    	if(a==0)
    		return 1;
    	else
    	{
    		a=abs(a);b=abs(b);
    		while(a!=b)
    		{
    			if(a>b)
    				a=a-b;
    			if(a<b)
    				b=b-a;
    		}
    		return a;
    	}
    }
    void thugonphanso(int &tu,int &mau)
    {
    	int u=UTLN(tu,mau);
    	tu=tu/u;
    	mau=mau/u;
    	if(mau<0)
    	{
    		tu=-tu;
    		mau=-mau;
    	}
    }
    void nhapPS(PS &ps)
    {
    	printf("\n+ moi nhap phan tu:");
    	scanf("%d",&ps.tu);
    	printf("\n+ moi nhap phan mau:");
    	do{
    		scanf("%d",&ps.mau);
    		if(ps.mau==0)
    			printf("\n+ ERRO \n+ moi nhap lai phan mau:");
    	}while(ps.mau==0);
    	thugonphanso(ps.tu,ps.mau);
    }
    void xuatPS(PS &ps)
    {
    	printf("\n %d/%d",ps.tu,ps.mau);
    }
    void nhapDSPS(PS A[],int n)
    {
    	for(int i=0;i<n;i++)
    	{
    		printf("\n\n  PS thu %d",i+1);
    		nhapPS(A[i]);
    	}
    }
    void xuatDSPS(PS A[],int n)
    {
    	for(int i=0;i<n;i++)
    		xuatPS(A[i]);
    }
    PS tongNPS(PS A[],int n)
    {
    	PS KQ;
    	KQ.tu=A[0].tu;KQ.mau=A[0].mau;
    	for(int i=1;i<n;i++)
    	{
    		if(KQ.tu==0)
    			KQ=A[i];
    		else
    		{
    			KQ.tu=KQ.tu*A[i].mau+A[i].tu*KQ.mau;
    			KQ.mau=KQ.mau*A[i].mau;
    		}
    	}
    	thugonphanso(KQ.tu,KQ.mau);
    	return KQ;
    }
    PS tim_MAX(PS A[],int n)
    {
    	PS u,y,MAX=A[0];
    	for(int i=1;i<n;i++)
    	{
    		u.tu=A[i].mau*MAX.tu;
    		y.tu=MAX.mau*A[i].tu;
    		if(u.tu<y.tu)
    		{
    			MAX=A[i];
    		}
    	}
    	return MAX;
    }
    void main()
    {
    	PS A[100];
    	int n;
    	printf("\n moi nhap n phan so");
    	scanf("%d",&n);
    	nhapDSPS(A,n);
    	xuatDSPS(A,n);
    	PS b=tongNPS(A,n);
    	printf("\nket wa tong cua toan bo so tren =%d/%d\n",b.tu,b.mau);
    	printf("\nMAX : %d/%d",tim_MAX(A,n).tu,tim_MAX(A,n).mau);
    	printf("The End\n");
    }

  4. #4
    Ngày gia nhập
    02 2009
    Bài viết
    0

    thanks mấy bro, em có ngồi code lại 1 bài như sau nè,các bác cho ý kiến:

    #include<stdio.h>
    #include<conio.h>
    // ham Uscln
    int USCLN(int a, int b)
    {
    while(a!=b)
    {
    if(a>b)
    a=a-b;
    else
    b=b-a;
    }
    return a;
    }
    // ham boi so chung nho nhat
    int BSCNN(int a, int b)
    {
    return (a*b)/USCLN(a,b);
    }
    typedef struct togPhanSo {
    int tuso, mauso;
    } PHANSO;

    PHANSO uocluoc(PHANSO a)
    {
    PHANSO ps;
    ps.tuso = a.tuso/ USCLN(a.tuso, a.mauso) ;
    ps.mauso = a.mauso/ USCLN(a.tuso, a.mauso);
    return ps;
    }

    PHANSO cong(PHANSO a, PHANSO b)
    {
    PHANSO ps;
    ps.tuso = a.tuso * b.mauso + a.mauso * b.tuso;
    ps.mauso = a.mauso * b.mauso;
    ps = uocluoc(ps);
    return ps;
    }
    //in
    void print(PHANSO a)
    {
    printf("%d/%d", a.tuso, a.mauso);
    }
    //ham main
    int main()
    {
    PHANSO a, b, ps;

    printf("\n Chuong trinh cong 2 phan so:");
    printf("\nNhap phan so a : ");
    scanf("%d%d", &a.tuso, &a.mauso);
    printf("\nNhap phan so b : ");
    scanf("%d%d", &b.tuso, &b.mauso);

    printf("\nToi gian a ta duoc : ");
    a = uocluoc(a);
    print(a);
    printf("\nToi gian b ta duoc : ");
    b = uocluoc(b);
    print(b);

    printf("\nTong cua hai phan so = ");
    ps = cong(a, b);
    print(ps);
    getch();
    }

  5. #5
    Ngày gia nhập
    05 2009
    Bài viết
    0

    @tranvu007
    thanks mấy bro, em có ngồi code lại 1 bài như sau nè,các bác cho ý kiến
    Ý kiến nè:....di copy lại bài của người khác bên ddth.com mà ko biết ngượng rồi còn nói code lại ...
    http://www.ddth.com/showthread.php?t=269786
    potay.com

  6. #6
    Ngày gia nhập
    09 2009
    Bài viết
    2

    Mặc định toi gian phan so

    các bác có thể viết ở lập trình C++ được kô?
    dùng ~ lệnh cout,cin cho em dễ hiểu ti nha.

  7. #7
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Code có đấy rồi, C và C++ ở các bài cơ bản như này thì giống nhau, đọc hiểu rồi tự code lại đi,

  8. #8
    Ngày gia nhập
    09 2012
    Nơi ở
    Q3, tp Hồ Chí Minh
    Bài viết
    2

    thực ra ""cin, cout"" có thụ viên là (iostream) trong c++ cũng giống như ""printf và scanf"" thư viện (stdio) trong c thui bạn ak ..không khác bao nhiêu . mới học nên dùng "cin, cout" vì nó dễ hơn.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn