ai giúp mình kiểm tra bài này với. mình không hiểu dòng cout in ra sao lại lạ như vậy.đây là bài tính cosx.
Code:#include<conio.h> #include<iostream.h> #include<math.h> #include<stdio.h> #define epsilon 0.000000001 double Cosx(double x) { double kq=1; double Tu=1; double Mau=1; double dau=-1; int i=1; do { Tu=Tu*x*x; Mau=Mau*(2*i-1)*(2*i); kq=kq+dau*Tu/Mau; dau=-dau; i++; } while((Tu/Mau)>epsilon); return kq; } void main() { clrscr(); double x; cout<<"moi nhap x: "; cin>>x; double kq=Cosx(x*M_PI/180); cout<<"ket qua (theo cout)Cos("<<x<<")="<<kq; printf("\nxuat theo printf %8lf" ,kq); getch(); }
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
Chỗ này :
Cậu muốn dau * ( Tu / Mau )kq=kq+dau*Tu/Mau;
hay ( dau * tu )/ Mau ?
Mặc dù dấu là -1 sẽ không ảnh hưởng như style viết chỗ này là không rõ ràng. Tương tự dòng cuối kq cũng vậy.
- Đừng bao giờ sử dụng macro, dùng const int vì
- Học C++ thì phải viết theo standard C++. Code cậu chỉ run được với mỗi TC++.MACRO is stupid text substitution with no rule and no scope.
- M_PI là gì ? Sử dụng 1 biến không khai báo bắt buộc phải có comment cho biến đó.
C++ Code:
#include <iostream> #include <cmath> #include <cstdio> const int epsilon = 0.000000001; double Cosx( double x ) { double kq = 1; double Tu = 1; double Mau = 1; double dau = -1; int i = 1; do { Tu = Tu * x * x; Mau = Mau * ( 2 * i - 1 ) * ( 2 * i ); kq = kq + dau * ( Tu / Mau ); dau = -dau; i++; } while( ( Tu / Mau ) > epsilon ); return kq; } int main() { using namespace std; double x; double kq = Cosx( x * M_PI / 180 ); printf( "\n - Ket qua xuat theo printf %8lf" , kq ); return 0; }
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
M_PI là số PI đó, khai báo trong thư viện <math.h>
I don't wanna waste another day
cám ơn rất nhiều vì đã góp ý.
mình chỉ muốn hỏi vì sao dong cout và dong frintf lai in ra khác nhau như vậy
mình sửa hoài mà không ra vì đâu biết sửa ra sao