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

Đề tài: In ra số chính phương trong mảng dùng hàm lỗi Floating point error?

  1. #1
    Ngày gia nhập
    07 2011
    Bài viết
    12

    Wink In ra số chính phương trong mảng dùng hàm lỗi Floating point error?

    Đề bài: Nhập vào 1 mảng, in ra các số chính phương, nếu ko có số chính phương trong mảng xuất "Khong có số chính phương"
    Mình code ở dưới, chạy đc, nhưng sau khi nhập hết các thông số của mảng vào thì nó ko in ra các số chính phương mà tự thoát chương trình, sau mình vào lại thấy lỗi của chương trình trước như sau:
    "Floating point error: Domain.
    Abnormal program termination"

    Bro nào biết chỉ dùm coi, mới học mảng xong, mà 25\8 thi rồi, kiểu này chết chắc
    Code:


    Code:
    #include<stdio.h>
    #include<conio.h>
    void main()
    {
    int i, n, a[10], dem=0;
    printf("Moi nhap n :");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
       printf("a[%d]= ",i);
       scanf("%d",&a[i]);
    }
    
    for(i=0;i<n;i++)
    {
       if(ktscp(a[i])==1)
       dem++;
    }
    
    if(dem==0) 
        printf("Mang da cho khong co so chinh phuong\n");
    else
       {
          printf("Cac so chinh phuong trong mang la: ");
          for(i=0;i<n;i++)
          if(ktscp(a[i])==1) 
          printf("%d ",a[i]);
       }
    
    getch();
    }
    
    int ktscp(int n)
    {
      int i;
      if(n<0) return 0;
      else
      {
         i=sqrt(n);
         if(n==i*i) return 1;
         return 0;
      }
    }

  2. #2
    Ngày gia nhập
    03 2010
    Bài viết
    26

    bạn xem bài này nhé
    Code:
    #include<iostream.h>
    #include<math.h>
    using namespace std;
    
    int ChinhPhuong(float n)
    {
        if((int )sqrt(n)==sqrt(n))
                return 1;
        return 0;
    }
    main()
    {
          int n,dem=0;
          float a[100],ketqua[100];
          do
          {
              cout<<"nhap n:";
              cin>>n;
          }while(n<=0||n>100);
          cout<<"\nnhap day so:\n";
          for(int i=0;i<n;++i)
                  {
                              cout<<"a["<<i<<"]=";
                              cin>>a[i];
                  }
                  
          for(int i=0;i<n;i++)
                  if(ChinhPhuong(a[i]))
                        {
                                       dem++;
                                       ketqua[dem]=a[i];
                        }
                        
          if(dem>0)
                   for(int i=1;i<=dem;i++)
                           cout<<" "<<ketqua[i];
          else
                  cout<<"trong day khong co so chinh phuong nao ca";
           system("pause");
    }

  3. #3
    Ngày gia nhập
    07 2011
    Bài viết
    12

    Trích dẫn Nguyên bản được gửi bởi blue_star Xem bài viết
    bạn xem bài này nhé
    Đc rồi, cảm ơn, bài của mình thiếu thư viện include<math.h>
    Giờ chạy ok rồi

  4. #4
    Ngày gia nhập
    08 2011
    Bài viết
    16

    thanks mình cũng vừa viết code xong
    Code:
    //ham kiem tra mot so la so chinh phuong
    int square(int n)
    {
    	if (n<0)
    		return 0;
    	else
    		{
    			if (sqrt(n)==t)
    				return 1;
    			else
    				return 0;
    		}
    }
    int count(int *a,int &n)//ham dem cac ptu la chinh phuong
    {
    	int i=0;
    	for (int j=0;j<n;j++)
    		if (square( *(a+j)))
    			i++;
    	return i;
    }

  5. #5
    Ngày gia nhập
    01 2011
    Nơi ở
    \WINDOWS\Assembly\
    Bài viết
    54

    C Code:
    1. #include <stdio.h>
    2. #include <math.h>
    3.  
    4. int main (void)
    5. {  
    6.     int a [10];
    7.     int i;
    8.     int count = 0;
    9.    
    10.     for (i = 0; i < 10; ++i)
    11.         scanf ("%d", a + i);
    12.    
    13.     for (i = 0; i < 10; ++i)
    14.         if ((int) sqrt (a [i]) == sqrt (a [i]))
    15.         {
    16.             printf ("%d ", a[i]);
    17.             ++count;
    18.         }
    19.    
    20.     if (!count)
    21.         printf ("Khong co so chinh phuong\n");
    22.        
    23.     fflush (stdin);
    24.     getchar ();
    25.     return 0;
    26. }

  6. #6
    Ngày gia nhập
    01 2010
    Nơi ở
    Hà Nội
    Bài viết
    2

    Red face bạn code thử nhé.mình viết và chạy thử rùi.ok

    int lachinhphuong(int n) {
    //tra ve 1 neu n la cp, 0 neu k phai
    int i;
    for (i=1; i<n; i++)
    if (i*i==n)
    return 1;
    return 0;

    }

    int timchinhphuonggannhat(int n) {
    int a, b, i;
    //tim a: a la so cp lon nhat thoa man dk a<=n
    //tim b: b la so cp nho nhat thoa man dk b>=n
    for (i=n; i>0; i--)
    if (lachinhphuong(i)==1) {
    a = i;
    break;
    }
    for (i=n; ; i++)
    if (lachinhphuong(i)==1) {
    b = i;
    break;
    }
    if (n-a < b-n ) return a;
    else return b;
    }

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

  1. Turbo C Lỗi Báo lỗi scanf floating point formats not linked
    Gửi bởi aboq trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 27-05-2013, 11:42 PM
  2. Xử lý lỗi: floating point not linked
    Gửi bởi trungkien45 trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 07-07-2011, 10:51 PM
  3. VC++ lỗi r6002 floating point support not loaded
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 01-01-2011, 10:50 PM
  4. Lỗi Floating point overflow. Làm sao sửa lỗi này?
    Gửi bởi Slow trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 08-07-2009, 10:01 PM
  5. Lập trình C | Lỗi floating point error domain
    Gửi bởi hunter205 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: 14-06-2009, 11:02 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