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

Đề tài: Các bạn xem hộ mình 3 code này với !!!

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    7

    Mặc định Các bạn xem hộ mình 3 code này với !!!

    Code:
    /* Trinh bien dich  : DevC/C++
        tinh : voi x, n nhap tu ban fim ;
        S = 1 - x + x^2 - x^3 +...+ (-1)^n.x^n
    */
    
    #include <conio.h>
    #include <stdio.h>
    #include <math.h>
    
    int main()
    {
        int  x, n, a;
        int  S, b;
        
        printf("\nNhap so x = ");
        fflush(stdout);
        scanf("%d", &x);
        fflush(stdin);
        printf("Nhap so n = ");
        fflush(stdout);
        scanf("%d", &n);
        fflush(stdin);
        
        for(int i=0; i<=n; i++){
           b=pow(x,i);
           a=pow(-1,i);
           S=a*b;
           S += S;
        }
        printf("S = %d", S); 
        fflush(stdout);
       
        getch();
        // khi minh nhap x=2,n=3 thi dang le fai ra -5 nhung lai ra thanh -16
    }
    Code:
    /* Trinh bien dich  : DevC/C++
       voi x,n nhap tu ban fim
       Tinh S = 1 + x + x^2 + x^3 +...+x^n
    */
    
    #include <conio.h>
    #include <stdio.h>
    #include <math.h>
    
    int main()
    {
        int  x, n, i;
        int  S;
        
        printf("\nNhap so x = ");
        fflush(stdout);
        scanf("%d", &x);
        fflush(stdin);
        printf("Nhap so n = ");
        fflush(stdout);
        scanf("%d", &n);
        fflush(stdin);
        
        for( i=0; i<=n; i++ ){
           S=pow(x,i);
        }    
        S += S; 
        printf("S = %d", S);
        
        getch();
        // minh nhap x= 2, n=3..dang le fai ra 15 nhung man hinh lai ra 16
    }
    Code:
    /* Trinh bien dich  : DevC/C++
        S = 1+ x/1! + x^2/2! + x^3/3! +..+ x^n/n!
        voi x,n nhap tu ban fim
    */
    
    #include <conio.h>
    #include <stdio.h>
    #include <math.h>
    
    int giai_thua(int m)
    {
       int ketqua = 1;
                
       for(int i=2; i<=m; i++)
         ketqua *= i;
    
       return ketqua;
    }
        
    int main()
    {
        int x, n;
        double s,e,d;
        
        printf("\nNhap so x = ");
        fflush(stdout);
        scanf("%d", &x);
        fflush(stdin);
        printf("Nhap so n = ");
        fflush(stdout);
        scanf("%d", &n);
        fflush(stdin);
        
        for(int a=0; a<=n; a++){
           d=giai_thua(a);
           e=pow(x,a);
           s = e/d;
        }
           s += s;
           printf("%f", s);
           fflush(stdout);
           
        getch();
        // x=2,n=3 >> S=6.33333 nhung man hinh lai la 2.666667
    }
    Mình muốn hỏi bài này mình cho 2 hàm fflush(stdout) + fflush(stdin) vào có dc kô ??
    Các bạn xem hộ mình style 3 code này có cần sửa gì kô ??

    Thanks !!!

  2. #2
    Ngày gia nhập
    11 2008
    Bài viết
    5

    fflush là hàm gì vậy bạn???
    3 đoạn code của bạn không ổn tí nào!
    C++ Code:
    1.   for(int i=0; i<=n; i++){
    2.        b=pow(x,i);
    3.        a=pow(-1,i);
    4.        S=a*b;
    5.        S += S;
    6.     }
    C++ Code:
    1. for( i=0; i<=n; i++ ){
    2.        S=pow(x,i);
    3.     }    
    4.     S += S;
    C++ Code:
    1.  for(int a=0; a<=n; a++){
    2.        d=giai_thua(a);
    3.        e=pow(x,a);
    4.        s = e/d;
    5.     }
    6.        s += s;
    Coi lại mà sửa nhé bạn
    Đã được chỉnh sửa lần cuối bởi long.bkiter07 : 31-12-2008 lúc 01:56 AM.

  3. #3
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    fflush(stdout) hoặc fflush(stdin) chỉ dùng để xóa vùng nhớ đệm khi nhập xuất, tránh trôi chương trình khi nhập liên tiếp các chuỗi người ta thường dùng nó, tuy nhiên với các giá trị nguyên như bài trên của bạn thì không cần.

    có thể cái thiện hơn các đoạn tính toán;
    C Code:
    1.     a=1;
    2.     for(int i=0; i<=n; i++){
    3.        S += pow(x,i)*a;
    4.        a *=-1;
    5.     }
    Ok, giảm bớt các biến không cần thiết là lượng tính toán. Các code khác cũng có chút vấn đề.
    C Code:
    1.     for( i=0; i<=n; i++ ){
    2.        S+=pow(x,i);
    3.     }    
    4.     //S += S;
    Code cuối sửa tương tự nhé bạn.

    * Hình như có những kẻ gắn thêm cái mác, thấy mình ghê gớm lắm thì phải.

  4. #4
    Ngày gia nhập
    11 2008
    Bài viết
    7

    s +=s trong for{} hay ngoài for{} cũg như nhau mà bạn.

  5. #5
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Code 1:
    C Code:
    1. #include <stdio.h>
    2. #include <math.h>
    3.  
    4. int main()
    5. {
    6.     int  x, n, a;
    7.     int  S=0, b;
    8.  
    9.     printf("\nNhap so x = ");
    10.     scanf("%d",&x);
    11.     printf("Nhap so n = ");
    12.     scanf("%d", &n);
    13.     int i;
    14.     for(i=0; i<=n; i++)
    15.     {
    16.         S+=pow(x,i)*pow(-1,i);
    17.     }
    18.     printf("S = %d", S);
    19.     fflush(stdout);
    20.  
    21.     getch();
    22.     // khi minh nhap x=2,n=3 thi dang le fai ra -5 nhung lai ra thanh -16
    23. }
    Code 2:

    C Code:
    1. /* Trinh bien dich  : DevC/C++
    2.     tinh : voi x, n nhap tu ban fim ;
    3.     S = 1 - x + x^2 - x^3 +...+ (-1)^n.x^n
    4. */
    5.  
    6. #include <conio.h>
    7. /* Trinh bien dich  : DevC/C++
    8.    voi x,n nhap tu ban fim
    9.    Tinh S = 1 + x + x^2 + x^3 +...+x^n
    10. */
    11.  
    12. #include <conio.h>
    13. #include <stdio.h>
    14. #include <math.h>
    15.  
    16. int main()
    17. {
    18.     int  x, n, i;
    19.     int  S=0;
    20.  
    21.     printf("\nNhap so x = ");
    22.     scanf("%d", &x);
    23.     printf("Nhap so n = ");
    24.     fflush(stdout);
    25.     scanf("%d", &n);
    26.  
    27.     for( i=0; i<=n; i++ )
    28.     {
    29.        S+=pow(x,i);
    30.     }
    31.     printf("S = %d", S);
    32.  
    33.     getch();
    34.     // minh nhap x= 2, n=3..dang le fai ra 15 nhung man hinh lai ra 16
    35. }
    Cánh Chym ứ mỏi

  6. #6
    Ngày gia nhập
    12 2008
    Bài viết
    235

    Mặc định Các bạn xem hộ mình 3 code này với !!!

    Code 3
    C++ Code:
    1. /* Trinh bien dich  : DevC/C++
    2.     S = 1+ x/1! + x^2/2! + x^3/3! +..+ x^n/n!
    3.     voi x,n nhap tu ban fim
    4. */
    5.  
    6. #include <conio.h>
    7. #include <stdio.h>
    8. #include <math.h>
    9.  
    10. long giai_thua(int m)
    11. {
    12.    if(m<2)return 1;
    13.    else return m*giai_thua(m-1);
    14. }
    15.    
    16. int main()
    17. {
    18.     int x, n;
    19.     double S=0;    
    20.     printf("\nNhap so x = ");
    21.     fflush(stdin);
    22.     scanf("%d", &x);
    23.     printf("Nhap so n = ");
    24.     fflush(stdin);
    25.     scanf("%d", &n);
    26.    
    27.     for(int a=0; a<=n; a++)
    28.         S+=(pow(x,a))/giai_thua(a);
    29.     printf("%f",S);
    30.     getch();
    31.     // x=2,n=3 >> S=6.33333 nhung man hinh lai la 2.666667
    32. }
    Đã được chỉnh sửa lần cuối bởi ducthiem90 : 31-12-2008 lúc 09:52 AM. Lý do: Quên không bỏ 2 cái biến của bồ không cần dùng :D

  7. #7
    Ngày gia nhập
    12 2008
    Bài viết
    235

    Đọc code của bồ thấy hoa cả mắt.Lạm dụng fflush quá.Thường chỉ cần dùng fflush(stdin) để xóa bộ đệm bàn fím khi chuẩn bị nhập dữ liệu từ bàn phím thoai

  8. #8
    Ngày gia nhập
    11 2008
    Bài viết
    7

    Mình cám ơn các bạn . Mình muốn hỏi cái fflush(stdin) :
    1. printf("\nNhap so x = ");
    fflush(stdin);
    scanf("%d", &x);
    printf("Nhap so n = ");
    fflush(stdin);
    scanf("%d", &n);
    hay là:
    2. printf("\nNhap so x = ");
    scanf("%d", &x);
    fflush(stdin);
    printf("Nhap so n = ");
    scanf("%d", &n);
    fflush(stdin);

    stdin là dọc kí tự đọc bàn fim ... vay nen fflush(stdin) dể sau scanf() hay trước scanf() ???

    Thanks !!!

  9. #9
    Ngày gia nhập
    11 2007
    Bài viết
    153

    Sặc, chỉ cần dùng khi nhập chuỗi thôi và đặt trước scanf là ổn. Quá lạm dụng fflush() mà chẳng để làm gì cả.
    ttecak ?

  10. #10
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    s +=s trong for{} hay ngoài for{} cũg như nhau mà bạn.
    Giống nhau sao được.
    stdin là dọc kí tự đọc bàn fim ... vay nen fflush(stdin) dể sau scanf() hay trước scanf() ???
    stdin -> standard input
    nó xóa vùng nhớ nhập nên nếu dùng thì phải đặt trước scanf or gets để xóa đi trước khi nhập. Thường chỉ dùng với chuỗi như mọi người đang nói với bạn.

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

  1. Tại sao lại bỏ Store Proceduce nếu code theo hướng Code First trong MVC3
    Gửi bởi rogerminh2401 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 5
    Bài viết cuối: 02-11-2012, 08:22 PM
  2. Trả lời: 5
    Bài viết cuối: 27-04-2012, 07:51 PM
  3. compiler Warning: Unreachable code và chạy sai trong khi code đúng. Vì sao?
    Gửi bởi lovemoney trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 19
    Bài viết cuối: 19-01-2012, 10:02 PM
  4. Bài tập C++ Nhập code và name sv vào in ra thì name in đúng nhưng code thì in ra cả 2 code lẫn name
    Gửi bởi spacy0212 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 27-09-2011, 08:47 AM
  5. Code quản lý sinh viên bằng danh sách lối vòng. Giúp mình thay đổi code kế thừa?
    Gửi bởi caocanha trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 6
    Bài viết cuối: 04-05-2009, 03:39 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