Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 15
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi oracle95
    Mình thấy chương trình của bạn chạy được đó chứ, không lỗi.
    (+ @chủ thớt) Nói thật là hàm này viết sai rồi bạn [IMG]images/smilies/smile.png[/IMG]

  3. #3
    Hàm rút gọn bị sai đúng không bạn
    Trích dẫn Gửi bởi prog10
    (+ @chủ thớt) Nói thật là hàm này viết sai rồi bạn [IMG]images/smilies/smile.png[/IMG]

  4. #4
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0
    Trích dẫn Gửi bởi francis1993
    Hàm rút gọn bị sai đúng không bạn
    Chính xác .

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Hàm rút gọn mình cũng có tham khảo trên diễn đàn. Nhưng mình nghĩ ra cách này nên làm thử xem sao ak mà
    Trích dẫn Gửi bởi prog10
    Chính xác .

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Nhờ giúp lỗi code rút gọn phân số

    Em làm hàm rút gọn phân số nhưng bị lỗi. Bác nào chỉ em với
    P/S: E mới học lập trình
    Mã:
    	<div>Code:
    	<pre style="height:396px;">#include "conio.h"
    #include "stdio.h"
    void nhap (int &tu, int &mau)
    {
    	printf("Nhap tu: ");
    	scanf("%d",&tu);
    	printf("Nhap mau: ");
    	scanf("%d",&mau);
    }
    void rutgon(int &tu, int &mau)
    {
    	int ucln;
    	for(int i=1;i<=tu;i++)
    	{
    			if((tu%i==0)&&(mau%i==0))
    				ucln=i;
    			else
    				ucln=1;
    	}
    	tu=tu/ucln;
    	mau=mau/ucln;
    	printf("%d/%d", tu,mau);
    }
    void main()
    {
    	int tu,mau;
    	nhap(tu,mau);
    	rutgon(tu,mau);
    	getch();
    
    }
    </pre>
    </div>

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình thấy chương trình của bạn chạy được đó chứ, không lỗi.
    Nhập vào mẫu thì nên thêm điều kiện để tránh mẫu = 0.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi son_gohan
    Em mới học lập trình C chưa học viết hàm chẳng biết gì cả nhưng mà em hay thấy sách viết như thế này:
    void main()
    {
    int tu,mau;
    nhap(tu,mau);
    rutgon(tu,mau);
    getch();

    }


    Sửa lại là:
    int main()
    {
    int tu,mau;
    nhap(tu,mau);
    rutgon(tu,mau);
    getch();
    return 0;
    }
    Chỉ là muốn giúp anh thôi, chứ thật em cũng không biết vì sao? [IMG]images/smilies/biggrin.png[/IMG]
    Bạn tham khảo.
    Một số IDE phải dùng int main () chứ không dùng void main ().

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn tìm hiểu qua thuật toán Euclid để tìm UCLN ! Cơ bản là sai ở phần tìm ucln
    Nếu tu > mau thì code của bạn bị sai hoàn toàn . VD rút gọn phân số 10/5 rồi phân tích như sau :
    - UCLN(10,5)=5 . Khi i = 5 thì chương trình bạn đúng lúc này nó gán ucln = 5
    - Nhưng khi i = 10 thì điều kiện (tu%i==0)&&(mau%i==0) sai dẫn đến ucln = 1
    => Chương trình sai !
    Từ đây ta có thể khắc phục bằng cách :
    - Điều kiện vòng lặp : i <= tu && i <= mau

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình có chạy thử nhưng một số truòng hợp nó bị lỗi. Chẳng hiểu sao?
    Trích dẫn Gửi bởi oracle95
    Mình thấy chương trình của bạn chạy được đó chứ, không lỗi.
    Nhập vào mẫu thì nên thêm điều kiện để tránh mẫu = 0.

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •