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

Đề tài: Giúp em xài hàm căn bậc 2 sqrt trong C++ với

  1. #1
    Ngày gia nhập
    10 2012
    Bài viết
    8

    Mặc định Giúp em xài hàm căn bậc 2 sqrt trong C++ với

    Code:
    #include<iostream>
    #include<math.h>
    using namespace std;
    int main()
    {
    	int n,i;
    	cout<<"nhap n:";
    	cin>>n;
    	int t = (int)sqrt(n); //error C2668: 'sqrt' : ambiguous call to overloaded function
    	for(i=2;i<=t;i++)
    	{
    		if(n%i==0)
    		{
    			cout<<n<<" ko phai la so ngto"<<endl;
    			break;
    		}
    	}
    	if(i==t+1)
    		cout<<n<<" la so ngto"<<endl;
    	return 0;
    }
    giúp mình sửa lỗi này với ! có ai có hàm căn bậc 2 khác trong C++ không chỉ mình với!

  2. #2
    Ngày gia nhập
    11 2012
    Nơi ở
    Ở trong rừng trong rú
    Bài viết
    7

    Theo mình nhớ không nhầm thì không có hàm sqrt với tham số là kiểu int cả, toàn kiểu double, float...
    Bạn đổi sqrt(n) thành sqrt(double(n))

  3. #3
    Ngày gia nhập
    10 2012
    Bài viết
    4

    bạn phải khai báo int thay thế cho kiểu float hoặc double thì ham sqrt mới chạy được

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

    C Code:
    1. double sqrt (      double x );
    2. float sqrt (       float x );
    3. long double sqrt ( long double x );
    http://www.cplusplus.com/reference/cmath/sqrt/

  5. #5
    Ngày gia nhập
    03 2013
    Nơi ở
    Hồ Chí Minh
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi boymafia1993 Xem bài viết
    Code:
    #include<iostream>
    #include<math.h>
    using namespace std;
    int main()
    {
    	int n,i;
    	cout<<"nhap n:";
    	cin>>n;
    	int t = (int)sqrt(n); //error C2668: 'sqrt' : ambiguous call to overloaded function
    	for(i=2;i<=t;i++)
    	{
    		if(n%i==0)
    		{
    			cout<<n<<" ko phai la so ngto"<<endl;
    			break;
    		}
    	}
    	if(i==t+1)
    		cout<<n<<" la so ngto"<<endl;
    	return 0;
    }
    giúp mình sửa lỗi này với ! có ai có hàm căn bậc 2 khác trong C++ không chỉ mình với!
    Cách dùng hàm sqrt hay một số hàm tương tự bạn có thể lên mạng tham khảo nếu báo lỗi tương tự, nếu bạn dùng c-free cho c++ thì bạn bôi đen hàm đó và nhấn f1 để xem chi tiết. Mình góp ý lỗi nhỏ khác về cú pháp giúp sau này bạn cải thiện code gọn hơn là về khai báo thư viện:
    nếu đã khai báo #include<iostream> thì dùng using namespace std;
    nếu khai báo #include<math.h> thì không cần dùng using namespace std;
    bạn nên dùng 1 trong 2 cách trên để khỏi lo sợ nếu báo lỗi và cũng như đưa code bạn trở nên gọn gàn hơn . Chúc bạn học tốt.
    học hỏi và chia sẽ kiến thức, vyexempy

Các đề tài tương tự

  1. tính căn bậc 2 = sqrt
    Gửi bởi boydamtac199 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 07-11-2013, 09:12 AM
  2. Mảng trên C Cho em hỏi về KT SNT trong mảng và sqrt
    Gửi bởi maphongba008 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 29-12-2012, 11:11 PM
  3. Tính căn bậc hai không dùng sqrt trong C++?
    Gửi bởi chuongbkcse trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 22-03-2011, 07:48 PM
  4. SQRT trong C
    Gửi bởi Doreamon9x trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 8
    Bài viết cuối: 11-05-2010, 07:39 PM
  5. [ Solved ]Xin hỏi hàm sqrt trong visual C++ 2008
    Gửi bởi nb_retceps trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 11-09-2008, 01:38 PM

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