Hiển thị kết quả từ 1 đến 5 / 5
  1. #1
    Tham gia
    17-08-2007
    Bài viết
    77
    Like
    0
    Thanked 0 Times in 0 Posts

    Ngạc nhiên chi cho em loi~ sai nhe'... cam on cac anh...

    # include <iostream.h>
    int main ()
    {
    float x;
    cout <<" nhap x = ";
    cin >> x;
    do
    {
    if ( x ==1 )
    {
    cout <<" tu ";
    }
    else if (x==2)
    {
    cout <<" tien dat ";
    }
    else if (x ==3)
    {
    cout <<" nguyen thanh";
    }
    else
    {
    cout <<" chua ghi het ";
    }
    }
    while (x !=0);
    return 0;
    }


    sao no ko chay dc may' anh ah`!!! no ko bao loi ji ca?... no vao` chay. dc. nhung cu' an' 1 hoac 2 la` no' lai. chay. nhu kieu ma tran lun.......... huuhuhuhuhu... chi cho em voi'.. huhuhu
    Quote Quote

  2. #2
    Tham gia
    21-08-2007
    Location
    Sài Gòn hoa lệ
    Bài viết
    2,164
    Like
    0
    Thanked 2 Times in 2 Posts
    hic hic, chương trình của chú có 2 điểm đáng bàn:
    1/x là số float, không ai so sánh == hết, mà nên là (abs(x-1)<=epsilon). epsilon khoảng 10E-8 cũng được.
    2/Trong vòng lập, chú không có input x lại, nên nếu lúc đầu nó khác 0 thì nó sẽ khác 0 hoài và chạy liên tục, nhanh đến mức chóng mặt, nhức đầu, có thể cháy CPU.

  3. #3
    Tham gia
    17-08-2007
    Bài viết
    77
    Like
    0
    Thanked 0 Times in 0 Posts
    dao nay it' gap. may' anh nhiet tinh ghe^...
    cho em hoi? (abs(x-1)<=epsilon). <<< la cai ji` vay?? anh danh' han? cau lenh. cho em dc ko??...ko co input la` sao anh??.. anh noi ro hon cho em di... em moi hoc dc. co' 1 buoi? thoi ah`.. huhuhuhu..

  4. #4
    Tham gia
    21-08-2007
    Location
    Sài Gòn hoa lệ
    Bài viết
    2,164
    Like
    0
    Thanked 2 Times in 2 Posts
    Nói nôm na là tại vì số thực trong máy tính nó lưu gần đúng thôi. Ví dụ bạn nhập 1 nó có thể lưu 1 nhưng nó cũng có thể lưu 0.9999999 hay 1.0000001 chẳng hạn. Cho nên mình xét số của mình có đủ gần 1 hay không thôi, chứ đừng xét bằng luôn 1.

    Không có input là trong vòng lập bạn không có cin>>x; lại đó mà.

  5. #5
    Tham gia
    16-05-2006
    Bài viết
    121
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi tranvantu87 View Post
    # include <iostream.h>
    int main ()
    {
    float x;
    cout <<" nhap x = ";
    cin >> x;
    do
    {
    if ( x ==1 )
    {
    cout <<" tu ";
    }
    else if (x==2)
    {
    cout <<" tien dat ";
    }
    else if (x ==3)
    {
    cout <<" nguyen thanh";
    }
    else
    {
    cout <<" chua ghi het ";
    }
    }
    while (x !=0);
    return 0;
    }


    sao no ko chay dc may' anh ah`!!! no ko bao loi ji ca?... no vao` chay. dc. nhung cu' an' 1 hoac 2 la` no' lai. chay. nhu kieu ma tran lun.......... huuhuhuhuhu... chi cho em voi'.. huhuhu
    Ở đây tui test bằng tay nha.
    nhập 0: thoát.
    nhập 1:xuất tu tu tu tu.............đến die
    nhập 2:xuất tien dat tien dat ........dến die
    tương tự cho các số khác 0.
    Vấn đề ở đây coi lại điều kiện dừng vòng while.
    Code:
    int main ()
    {
    	float x;
    	do 
    	{
                cout <<" nhap x = ";
    	    cin >> x;
    		if ( x ==1 ) 
    		{
    			cout <<"  tu ";
    		}
    		else if (x==2)
    		{
    			cout <<" tien dat ";
    		}
    		else if (x ==3)
    		{
    			cout <<" nguyen thanh";
    		}
    		else 
    		{
    			cout <<" chua ghi het ";
    		}
    	}
    	while (x !=0);
    		return 0;
    }

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • 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
  •