Follow us on...
Follow us on Facebook

VN-Zoom.com chung tay vì Cộng đồng

Kaka - ứng dụng hát Karaoke trên mobile

Tuyển Mod Mobile diễn dàn Vn-Zoom.com 2014

Chiêm ngưỡng BaoMoi đẹp "tuyệt diệu" trên Windows Phone

Vn-Zoom.com tặng key vip Tenlua.vn

Toàn cảnh Vn-Zoom tham gia họp báo Asus Zenfone
Trang 1/2 1 2 cuốicuối
kết quả từ 1 tới 15 trên 20
  1. #1
    vjolet_1975's Avatar
    vjolet_1975 vẫn chưa có mặt trong diễn đàn Búa Gỗ
    Tham gia
    Mar 2010
    Bài
    13
    Cảm ơn
    7
    Điểm
    7/3 bài viết
    VR power
    0

    Default Tính chu vi và diện tích tam giác khi biết độ dài 3 cạnh @@

    Vấn đề đặt ra là:
    - Phải kiểm tra điều kiện, 3 cạnh nhập vào có phải là tam giác ko.
    + Nếu đúng thì tính chu vi và diện tích.
    + Nếu ko đúng thì yêu cầu nhập lại và đến khi nào đúng thì tính ra chu vi và diện tích.
    - Dùng while.

    Em dùng cin cout thì được, nhưng dùng while thì ko được
    Em làm mà mãi ko ra các bác ạ. Sửa được cái nọ lại hỏng cái kia. Híc. Mong các bác nhiệt tình giúp em nha.
    Em vừa bắt đầu học lập trình I, thấy khó kinh khủng

    ---------- Bài thêm lúc 03:24 ---------- Bài trước là lúc 02:55 ----------

    Em làm 2 cách này, các bác check giúp em nhé:
    Cách 1:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    int a,b,c,CV;
    float S, p;
    main()
    {
    do
    {
    printf("\nNhap do dai ba canh: ");
    scanf("%d%d%d",&a,&b,&c);
    if(a+b>c && a+c>b && b+c>a)
    {
    CV=a+b+c;
    p=(float) CV/2;
    S= sqrt(p*(p-a)*(p-b)*(p-c));
    printf("chu vi: %d",CV);
    printf("\n dien tich: %f",S);
    continue;
    }
    printf("Tam giac khong thoa man\n. Nhap lai");
    }
    while(a);
    getch();
    }

    Cách 2:
    #include <iostream.h>
    #include <conio.h>
    #include <math.h>
    main()
    {
    int a,b,c;
    float p=(a+b+c)/2,S;
    cout << " Nhap do dai 3 canh a, b, c la :" << endl;
    cin >> a >> b >> c;
    S=sqrt((p*(p-(float) a)*(p-(float) b)*(p- (float) c)));
    if(a+b>c && a+c >b && b+c >a)
    {
    cout << " chu vi la :" << 2*p << endl;
    cout << " dien tich la:" << S << endl;
    }
    else
    {
    cout << " Nhap lai do dai 3 canh a, b, c la:" << endl;
    cin >> a >> b >> c;
    cout << " chu vi la :" << 2*p << endl;
    cout << " dien tich la:" << S << endl;
    }
    getch();
    }

    ========================================

    Lập trình thật là kinh dị @@ => Đi ngủ.
    Thay đổi nội dung bởi vjolet_1975; 01-09-2011 lúc 02:57.

  2. Có 5 thành viên cảm ơn vjolet_1975 cho bài viết này:
    alexanderdat (04-08-2012), kubidied (09-02-2012), suachualaptop12h (28-10-2013), toanhsgb (19-09-2011), win 8 (05-09-2011)

  3. #2
    hoanglamtv's Avatar
    hoanglamtv vẫn chưa có mặt trong diễn đàn Búa Gỗ
    Tham gia
    Oct 2008
    Đến từ
    Tp Hồ Chí Minh
    Bài
    17
    Cảm ơn
    4
    Điểm
    12/5 bài viết
    VR power
    0

    Default

    Vừa chuẩn bị đi ngủ thì thấy bài của em.Thôi thì giúp 1 tay vậy !

    #include <iostream.h>
    #include <conio.h>
    #include <math.h>

    void main()
    {
    clrscr();
    int a,b,c;
    float p,s;
    int ok=0;
    while(ok==0) // lặp khi chưa thỏa điều kiện
    {
    cout<<"Nhap do dai 3 canh a,b,c: ";
    cin>>a>>b>>c;
    if(a+b>c && a+c>b && b+c>a)
    ok=1; // thỏa điều kiện gán ok=1;
    else
    cout<<"Chieu dai 3 canh khong phu hop!\n";
    }
    p=(float)(a+b+c)/2;
    s=sqrt(p*(p-a)*(p-b)*(p-c));
    cout<<"Chu vi: "<<p*2<<"\n";
    cout<<"Dien tich: "<<s;
    getch();
    }

    ------------------------------
    +Cách 1-> hơi rối.
    +Cách 2-> không được gán p=(a+b+c)/2 ngay từ đầu vì lúc đó chưa có dữ liệu a,b,c nên sẽ cho số sai.
    Thay đổi nội dung bởi hoanglamtv; 01-09-2011 lúc 07:38.

  4. Có 5 thành viên cảm ơn hoanglamtv cho bài viết này:
    auauau97 (01-09-2011), BờmVNZ (01-09-2011), kubidied (09-02-2012), vjolet_1975 (02-09-2011), win 8 (05-09-2011)

  5. #3
    happyboy99x's Avatar
    happyboy99x vẫn chưa có mặt trong diễn đàn Rìu Bạc Đôi
    Tham gia
    May 2011
    Bài
    526
    Cảm ơn
    459
    Điểm
    234/152 bài viết
    VR power
    0

    Default

    Code của mình đây, mới học mong mọi người đừng chê cười (mình dùng visual studio)
    Code:
    #include <iostream>
    #include <math.h>
    #include <conio.h>
    using namespace std;
    void main() {
    	int a, b, c;
    	bool ok = false;
    	while (!ok) {
    		cout << "Nhap ba canh: ";
    		cin >> a >> b >> c;
    		ok = a+b>c && b+c>a && c+a>b;
    	}
    	float p = (a+b+c)/2;
            cout << "Chu vi = " << 2 * p << "\n";
    	cout << "Dien tich = " << sqrt(p*(p-a)*(p-b)*(p-c)) << "\n";
    	getch();
    }

  6. Có 3 thành viên cảm ơn happyboy99x cho bài viết này:
    BờmVNZ (01-09-2011), kubidied (09-02-2012), win 8 (05-09-2011)

  7. #4
    BờmVNZ's Avatar
    BờmVNZ vẫn chưa có mặt trong diễn đàn Rìu Chiến Chấm
    Tham gia
    Apr 2010
    Đến từ
    Thế Giới Không Còn Chiến Tranh!!!
    Bài
    2.345
    Cảm ơn
    2.048
    Điểm
    2.934/715 bài viết
    VR power
    0

    Default

    CT của tớ viết đơn giản thế này thôi,nhanh gọn mà,2f là xong
    #include "stdio.h"
    #include "conio.h"
    #include "math.h"
    void main()
    {
    float a,b,c,cv,dt,q;
    printf("\nHay nhap vao do dai 3 canh cua tam giac can tinh");
    scanf("%f%f%f",&a,&b,&c);
    if((a+b>c)&&(a+c>b)&&(c+b>a))
    {
    cv = a+b+c;
    q = cv/2;
    dt = sqrt(q*(q-a)*(q-b)*(q-c));
    printf("\n\nchu vi cua tam giac can tinh la :%f\ndien tich cua tam giac can tinh la :%f",cv,dt);
    }
    else
    printf("\nTam giac can tinh khong ton tai,vui long kiem tra lai so lieu cac canh\nva chay lai chuong trinh.\nxin cam on\!");
    getch();
    }
    [V-Z] đã cho tôi học hỏi được nhiều thứ, cảm ơn 4R và những người bạn ! Hidden Content
    Hidden Content

  8. Có 2 thành viên cảm ơn BờmVNZ cho bài viết này:
    kubidied (09-02-2012), win 8 (05-09-2011)

  9. #5
    auauau97's Avatar
    auauau97 vẫn chưa có mặt trong diễn đàn Rìu Chiến Vàng
    Tham gia
    Jun 2010
    Đến từ
    Hà Nội
    Bài
    6.688
    Cảm ơn
    11.981
    Điểm
    5.268/3.029 bài viết
    VR power
    0

    Default

    code của mình dùng C free:
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    
    int main()
    {
    	float a,b,c,p,s;
    	do
    		{
    			printf("Enter a,b,c:");
    			scanf("%f %f %f",&a,&b,&c);
    		}
            while ((a+b<=c) || (a+c<=b) || (c+b<=a));
    	p=(a+b+c)/2;
    	s=sqrt(p*(p-a)*(p-b)*(p-c));
    	printf("\nchu vi cua tam giac la :%f",2*p);
    	printf("\ndien tich cua tam giac la:%f",s);
    	getch();
    }
    Thay đổi nội dung bởi auauau97; 01-09-2011 lúc 12:35.
    Nothing is true, everything is permitted

  10. Có 2 thành viên cảm ơn auauau97 cho bài viết này:
    kubidied (09-02-2012), win 8 (05-09-2011)

  11. #6
    19-6's Avatar
    19-6 vẫn chưa có mặt trong diễn đàn Moderator
    Tham gia
    Sep 2008
    Đến từ
    Abyss
    Bài
    1.907
    Cảm ơn
    861
    Điểm
    3.394/1.516 bài viết
    VR power
    0

    Default

    Trích auauau97 View Post
    code của mình dùng C free:
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    
    int main()
    {
    	float a,b,c,p,s;
    	while ((a+b<=c) || (a+c<=b) || (c+b<=a))
    		{
    			printf("Enter a,b,c:");
    			scanf("%f %f %f",&a,&b,&c);
    		}
    	p=(a+b+c)/2;
    	s=sqrt(p*(p-a)*(p-b)*(p-c));
    	printf("\nchu vi cua tam giac la :%f",2*p);
    	printf("\ndien tich cua tam giac la:%f",s);
    	getch();
    }
    trong code của bạn, ban đầu 3 biến a, b, c chưa có giá trị thì làm sao mà dùng while kiểm tra được, phải đổi thành do{}while mới chính xác
    Code:
    do{
       printf("Enter a,b,c:");
       scanf("%f %f %f",&a,&b,&c);
    }while ((a+b<=c) || (a+c<=b) || (c+b<=a));


  12. Có 4 thành viên cảm ơn 19-6 cho bài viết này:
    auauau97 (01-09-2011), BờmVNZ (01-09-2011), kubidied (09-02-2012), win 8 (05-09-2011)

  13. #7
    auauau97's Avatar
    auauau97 vẫn chưa có mặt trong diễn đàn Rìu Chiến Vàng
    Tham gia
    Jun 2010
    Đến từ
    Hà Nội
    Bài
    6.688
    Cảm ơn
    11.981
    Điểm
    5.268/3.029 bài viết
    VR power
    0

    Default

    Trích 19-6 View Post
    trong code của bạn, ban đầu 3 biến a, b, c chưa có giá trị thì làm sao mà dùng while kiểm tra được, phải đổi thành do{}while mới chính xác
    Code:
    do{
       printf("Enter a,b,c:");
       scanf("%f %f %f",&a,&b,&c);
    }while ((a+b<=c) || (a+c<=b) || (c+b<=a));
    có giá trị =0 mà nhỉ ?
    C free vẫn chạy được :
    Nothing is true, everything is permitted

  14. Có 2 thành viên cảm ơn auauau97 cho bài viết này:
    kubidied (09-02-2012), win 8 (05-09-2011)

  15. #8
    BờmVNZ's Avatar
    BờmVNZ vẫn chưa có mặt trong diễn đàn Rìu Chiến Chấm
    Tham gia
    Apr 2010
    Đến từ
    Thế Giới Không Còn Chiến Tranh!!!
    Bài
    2.345
    Cảm ơn
    2.048
    Điểm
    2.934/715 bài viết
    VR power
    0

    Default

    đúng rồi,chưa có giá trị thì làm sao mà ktra đc hả bạn,với lại code của bạn sai quy tắc toán học rồi còn đâu
    [V-Z] đã cho tôi học hỏi được nhiều thứ, cảm ơn 4R và những người bạn ! Hidden Content
    Hidden Content

  16. Có 2 thành viên cảm ơn BờmVNZ cho bài viết này:
    auauau97 (01-09-2011), win 8 (05-09-2011)

  17. #9
    19-6's Avatar
    19-6 vẫn chưa có mặt trong diễn đàn Moderator
    Tham gia
    Sep 2008
    Đến từ
    Abyss
    Bài
    1.907
    Cảm ơn
    861
    Điểm
    3.394/1.516 bài viết
    VR power
    0

    Default

    Trích auauau97 View Post
    có giá trị =0 mà nhỉ ?
    C free vẫn chạy được
    - tuy nó chạy được nhưng về mặt thuật toán thì bài này sai, dùng while trong trường hợp này là không đúng, có nhiều trường hợp sẽ dẫn đến lỗi, không tin thì bạn có thể làm thử bài này :
    - Cho phép người dùng nhập liên tục số nguyên dương giá trị a, cho đến khi nhập a < 1 hoặc a > 9 thì dừng, tính tổng các số vừa nhập.
    dùng while(){} đấy nhé


  18. Có 2 thành viên cảm ơn 19-6 cho bài viết này:
    auauau97 (01-09-2011), win 8 (05-09-2011)

  19. #10
    auauau97's Avatar
    auauau97 vẫn chưa có mặt trong diễn đàn Rìu Chiến Vàng
    Tham gia
    Jun 2010
    Đến từ
    Hà Nội
    Bài
    6.688
    Cảm ơn
    11.981
    Điểm
    5.268/3.029 bài viết
    VR power
    0

    Default

    Trích BờmVNZ View Post
    đúng rồi,chưa có giá trị thì làm sao mà ktra đc hả bạn,với lại code của bạn sai quy tắc toán học rồi còn đâu
    Ừ, chắc là sai rồi
    Các bạn có thể chỉ cho mình lỗi sai ở đâu để mình sửa không ?

    ---------- Bài thêm lúc 12:36 ---------- Bài trước là lúc 12:24 ----------

    Trích 19-6 View Post
    - tuy nó chạy được nhưng về mặt thuật toán thì bài này sai, dùng while trong trường hợp này là không đúng, có nhiều trường hợp sẽ dẫn đến lỗi, không tin thì bạn có thể làm thử bài này :
    - Cho phép người dùng nhập liên tục số nguyên dương giá trị a, cho đến khi nhập a < 1 hoặc a > 9 thì dừng, tính tổng các số vừa nhập.
    dùng while(){} đấy nhé
    thanks bạn đã nhắc !
    mình sửa lại rồi
    thanks
    Nothing is true, everything is permitted

  20. Có 1 thành viên cảm ơn auauau97 cho bài viết này:
    win 8 (05-09-2011)

  21. #11
    laihoangle's Avatar
    laihoangle vẫn chưa có mặt trong diễn đàn Búa Đá Đôi
    Tham gia
    Aug 2011
    Đến từ
    VỊ TRÍ THỨ HAI, CHƯA BAO GIỜ LÀ THỨ NHẤT
    Bài
    92
    Cảm ơn
    53
    Điểm
    31/19 bài viết
    VR power
    0

    Default

    Bạn có biết HERONG không? Dùng cái đấy mà tính
    [COLOR="#0000CD"] Muôn liên hệ : Hidden Content /COLOR]

  22. Có 1 thành viên cảm ơn laihoangle cho bài viết này:
    win 8 (05-09-2011)

  23. #12
    happyboy99x's Avatar
    happyboy99x vẫn chưa có mặt trong diễn đàn Rìu Bạc Đôi
    Tham gia
    May 2011
    Bài
    526
    Cảm ơn
    459
    Điểm
    234/152 bài viết
    VR power
    0

    Default

    Công thức Hê-rông: a,b,c là 3 cạnh của 1 tam giác. Gọi p là nửa chu vi tam giác. Suy ra

  24. Có 2 thành viên cảm ơn happyboy99x cho bài viết này:
    auauau97 (01-09-2011), win 8 (05-09-2011)

  25. #13
    vjolet_1975's Avatar
    vjolet_1975 vẫn chưa có mặt trong diễn đàn Búa Gỗ
    Tham gia
    Mar 2010
    Bài
    13
    Cảm ơn
    7
    Điểm
    7/3 bài viết
    VR power
    0

    Default

    Cảm ơn các bác đã giúp em nha Em lại thấy thích lập trình rùi. Hjj

  26. Có 1 thành viên cảm ơn vjolet_1975 cho bài viết này:
    win 8 (05-09-2011)

  27. #14
    ngoctuyenpro88's Avatar
    ngoctuyenpro88 vẫn chưa có mặt trong diễn đàn Búa Gỗ Đôi
    Tham gia
    Jan 2010
    Bài
    36
    Cảm ơn
    0
    Điểm
    35/8 bài viết
    VR power
    0

    Default

    Bài này chẳng có gì mấy. Cần chú ý đến:
    - Điều kiện a,b,c là 3 cạnh của tam giác a+b>c (Cái này có thể dùng do while)
    - Áp dụng công thức Hêrong

  28. Có 1 thành viên cảm ơn ngoctuyenpro88 cho bài viết này:
    win 8 (05-09-2011)

  29. #15
    Tham gia
    Mar 2011
    Bài
    3
    Cảm ơn
    0
    Điểm
    0/0 bài viết
    VR power
    0

    Default

    mình cho công thức thui còn lại tự diễn nha:
    p=chuvi/2
    dt=sqrt(p*(p-a)(p-d)(p-c))

 

 
Trang 1/2 1 2 cuốicuối

Quyền sử dụng

  • 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ể tự sửa bài viết của mình
  •