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

Đề tài: Tính sin theo chuỗi Taylor có lỗi, cần giúp đỡ

  1. #1
    No Avatar
    mrnorthrain Khách

    Mặc định Tính sin theo chuỗi Taylor có lỗi, cần giúp đỡ

    bài này sai ở đâu hả các bác?? em tìm mãi không ra
    thank các bác trước

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<math.h>
    4. #define PI 3.14159
    5.  
    6. int giai_thua(int n);
    7. float sin_x(float x);
    8. float mu(float x,int n);
    9.  
    10. /************************************************/
    11.  
    12. void main()
    13. {
    14.     float x;
    15.     char c;
    16.     clrscr();
    17.     do
    18.     {
    19.         printf("\nNhap vao gia tri goc x trong khoang tu -2 PI toi 2 PI: ");
    20.         scanf("%f",&x);
    21.     }while(-2*PI>x||x>2*PI);
    22.    
    23.     printf("\nGia tri sin %f trong cong thuc khai trien Taylo la %f\n",x,sin_x( x ));
    24.     printf("\nGia tri sin %f trong thu vien math.h la %f\n",x,sin(x));
    25.     getch();
    26. }
    27.  
    28. /******************************************/
    29.  
    30. int giai_thua(int n)
    31. {
    32.     if(n<=0)
    33.         return 1;
    34.         else
    35.             return n*giai_thua( n-1 );
    36. }
    37.  
    38. /******************************************/
    39.  
    40. float mu(float x,int n)
    41. {
    42.     int i;
    43.     float s=1;
    44.     for(i=0;i<n;i++)
    45.     s*=x;
    46.     return s;
    47. }
    48.  
    49. /**********************************************/
    50.  
    51. float sin_x (float x )
    52. {
    53.     int i=1;
    54.     float a;
    55.     float ket_qua=x;
    56.     do
    57.     {
    58.         a=mu(-1 , i )*mu(x , 2*i+1)/giai_thua(2*i+1);
    59.         i++;
    60.         ket_qua+=a;
    61.     }while(a>=0.0001 || a<=-0.0001);
    62.    
    63.     return ket_qua;
    64. }
    Đã được chỉnh sửa lần cuối bởi mrnorthrain : 28-11-2006 lúc 01:20 AM.

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,749

    Hmmm, Nhìn lại cái tiêu đề xem nhé, viết như thế có hay hơn không?
    Và để code lộn xộn như thế này bắt người khác mò từng câu lệnh sao hả?

    Nhìn cái công thức triển khai xem nhé.

    sin(x)= x-x^3/3!+x^5/5! +...

    Vậy chương trình của bạn bỏ qua mất tiêu cái x đầu tiên rồi. Chỉ cần khởi gán ket_qua=x là được rồi. he he
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  3. #3
    No Avatar
    mrnorthrain Khách

    hix!!em mò mẫm mãi để tìm lỗi nên nó mới lộn xộn thế này! các bác thông cảm!
    nhưnng mà bác xem lại hộ chứ em khởi gán ket_qua=x mà nó vẫn không chạy nổi
    là sao (lỗi hiện ra là "devide by zero" )
    bó tay

  4. #4
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,749

    Đã sửa lại một chút và đưa code của bạn vào code tag. Dreaminess đã chạy thử kết quả chạy tốt đó chứ. Thử nhập 0.5, và 0.8 vào xem??????
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

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

  1. Giới hạn của kiểu long double trong C khi lập trình tính exp() theo chuỗi Taylor
    Gửi bởi nghnam trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 5
    Bài viết cuối: 27-07-2013, 08:39 PM
  2. Sin(x) theo Taylor
    Gửi bởi langtupro07 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 9
    Bài viết cuối: 12-04-2013, 10:14 PM
  3. Tính sin của ma trận theo khai triển Taylor
    Gửi bởi bachcamtu128 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 29-07-2011, 06:13 PM
  4. xem một từ trong chuỗi là một chuỗi con, sắp xếp các chuỗi con theo thứ tự tăng dần
    Gửi bởi qpkdct1101 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 20-01-2011, 08:22 AM
  5. Lập trình C | tính cos theo Taylor, làm sao sửa lỗi?
    Gửi bởi tung061288 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 08-07-2009, 10:16 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