Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Code về kiểm tra dãy cấp số cộng

  1. #1
    Ngày gia nhập
    11 2008
    Nơi ở
    Hà Nội
    Bài viết
    70

    Mặc định Code về kiểm tra dãy cấp số cộng

    Mọi người xem hộ em sai ở đâu
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. void main()
    4. {
    5.     clrscr();
    6.     int n,k;
    7.     int A[100],i;
    8.     printf("\n Nhap n=");
    9.     scanf("%d",&n);
    10.     printf("\n Nhap mang: \n");
    11.     for(i=0;i<n;i++)
    12.     {
    13.         printf("A[%d]=",i);
    14.         scanf("%d",&A[i]);
    15.     }
    16.     printf("\n Mang vua nhap:");
    17.     for(i=0;i<n;i++)
    18.     printf("%5d",A[i]);
    19.     for(i=1;i<n;i++)
    20.     if(A[i]!=(A[i-1]+k)) printf("\n Day ko la cap so cong");
    21.     else printf("\n Day la cap so cong");
    22.   getch();
    23. }
    Dân thường sống đẹp đè bẹp dân chơi.
    Hi [you]

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

    Trích dẫn Nguyên bản được gửi bởi zodjac1990 Xem bài viết
    Mọi người xem hộ em sai ở đâu
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. void main()
    4. {
    5.     clrscr();
    6.     int n,k;
    7.     int A[100],i;
    8.     printf("\n Nhap n=");
    9.     scanf("%d",&n);
    10.     printf("\n Nhap mang: \n");
    11.     for(i=0;i<n;i++)
    12.     {
    13.         printf("A[%d]=",i);
    14.         scanf("%d",&A[i]);
    15.     }
    16.     printf("\n Mang vua nhap:");
    17.     for(i=0;i<n;i++)
    18.     printf("%5d",A[i]);
    19.     for(i=1;i<n;i++)
    20.     if(A[i]!=(A[i-1]+k)) printf("\n Day ko la cap so cong");
    21.     else printf("\n Day la cap so cong");
    22.   getch();
    23. }
    code của bạn về mặt ý tưởng là đúng,sửa lại 3 dòng code cuối như sau:
    if(A[i]!=(A[i-1]+k)) printf("\n Day ko la cap so cong");return;
    cái Else của bạn làm sai chương trình của bạn, nên để nó ngoài vòng lặp,kiểm tra xong hết dãy cần nhập thì mới kết luận được nó là cấp số cộng chứ.
    thân,

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

    mình nghĩ bài của cậu hình như chưa cho biết công sai là bao nhiêu. Mình code lại như này lấy công sai là k=A[1]-A[0]:

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. void main()
    4. {
    5.     clrscr();
    6.     int n,k,flag=1;
    7.     int A[100],i;
    8.     printf("\n Nhap n=");
    9.     scanf("%d",&n);
    10.     printf("\n Nhap mang: \n");
    11.     for(i=0;i<n;i++)
    12.     {
    13.         printf("A[%d]=",i);
    14.         scanf("%d",&A[i]);
    15.     }
    16.     k=A[1]-A[0];
    17.     printf("\n Mang vua nhap:");
    18.     for(i=0;i<n;i++)
    19.         printf("%5d",A[i]);
    20.     for(i=1;i<n-1;i++)
    21.     {
    22.         if((A[i]+k)!=A[i+1])
    23.         flag=0;
    24.     }
    25.  
    26.     if(flag==0)
    27.         printf("\n Day ko la cap so cong");
    28.     else
    29.         printf("\n Day la cap so cong");
    30.   getch();
    31. }

  4. #4
    Ngày gia nhập
    11 2008
    Nơi ở
    Neverland
    Bài viết
    48

    Chỗ này nên cho break vào để tránh lặp không cần thiết .
    C Code:
    1.   for(i=1;i<n-1;i++)
    2.     {
    3.         if((A[i]+k)!=A[i+1]) {
    4.             flag=0;
    5.             break;
    6.         }
    7.     }
    I'm superman

  5. #5
    Ngày gia nhập
    11 2008
    Nơi ở
    Hà Nội
    Bài viết
    70

    Sau khi thêm chữ break vào thi đã chạy ngon. Cảm ơn mọi người đã giúp đỡ.
    Đã được chỉnh sửa lần cuối bởi zodjac1990 : 01-12-2008 lúc 07:28 AM.
    Dân thường sống đẹp đè bẹp dân chơi.
    Hi [you]

  6. #6
    Ngày gia nhập
    11 2008
    Nơi ở
    Hà Nội
    Bài viết
    70

    Mặc định Code về kiểm tra dãy cấp số cộng

    Em đã làm lại thử bằng hàm không biết đúng hay sai nhỉ???

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<math.h>
    4. int KtraMangCapSoCong(int A[],int N,int k)
    5. {
    6.     for(int i=1;i<N;i++)
    7.     if(A[i]!=A[i-1]+k)
    8.         return 0;break;
    9.     return 1;
    10. }
    11. void main()
    12. {
    13.     clrscr();
    14.     int A[100],n,i,k;
    15.     printf("\n Nhap N=");
    16.     scanf("%d",&n);
    17.     printf("\n Nhap mang:\n");
    18.     for(i=0;i<n;i++)
    19.     {
    20.         printf("A[%d]=",i);
    21.         scanf("%d",&A[i]);
    22.     }
    23.         printf("\n Mang vua nhap");
    24.         for(i=0;i<n;i++)
    25.         printf("%5d",A[i]);
    26.         if(KtraMangCapSoCong(A,n,k)) printf("\n Day la cap so cong");
    27.         getch();
    28.     }
    Đã được chỉnh sửa lần cuối bởi zodjac1990 : 01-12-2008 lúc 07:34 AM.
    Dân thường sống đẹp đè bẹp dân chơi.
    Hi [you]

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

    Trích dẫn Nguyên bản được gửi bởi zodjac1990 Xem bài viết
    Em đã làm lại thử bằng hàm không biết đúng hay sai nhỉ???

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<math.h>
    4. int KtraMangCapSoCong(int A[],int N,int k)
    5. {
    6.     for(int i=1;i<N;i++)
    7.     if(A[i]!=A[i-1]+k)
    8.         return 0;break;
    9.     return 1;
    10. }
    11. void main()
    12. {
    13.     clrscr();
    14.     int A[100],n,i,k;
    15.     printf("\n Nhap N=");
    16.     scanf("%d",&n);
    17.     printf("\n Nhap mang:\n");
    18.     for(i=0;i<n;i++)
    19.     {
    20.         printf("A[%d]=",i);
    21.         scanf("%d",&A[i]);
    22.     }
    23.         printf("\n Mang vua nhap");
    24.         for(i=0;i<n;i++)
    25.         printf("%5d",A[i]);
    26.         if(KtraMangCapSoCong(A,n,k)) printf("\n Day la cap so cong");
    27.         getch();
    28.     }
    bài của cậu vẫn sai mà, bạn đã cho biết công sai bằng bao nhiêu đâu, lấy k là công sai đi, thi k=A[1]-[0]; hàm KtraMangCapSoCong trả về giá trị nên điều kiện if ở hàm main :
    C Code:
    1. if(KtraMangCapSoCong(A,n,k)==1) printf("\n Day la cap so cong");

  8. #8
    Ngày gia nhập
    11 2008
    Nơi ở
    Neverland
    Bài viết
    48

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<math.h>
    4. int KtraMangCapSoCong(int A[],int N)
    5. {
    6.     int k;
    7.     if (N<2) return 0;
    8.     k = A[1] - A[0];
    9.     for(int i=1;i<N;i++)
    10.         if(A[i]!=A[i-1]+k)
    11.             return 0;
    12.     return 1;
    13. }
    14. void main()
    15. {
    16.     clrscr();
    17.     int A[100],n,i,k;
    18.     printf("\n Nhap N=");
    19.     scanf("%d",&n);
    20.     printf("\n Nhap mang:\n");
    21.     for(i=0;i<n;i++)
    22.     {
    23.         printf("A[%d]=",i);
    24.         scanf("%d",&A[i]);
    25.     }
    26.     printf("\n Mang vua nhap");
    27.     for(i=0;i<n;i++)
    28.         printf("%5d",A[i]);
    29.     if(KtraMangCapSoCong(A,n))
    30.         printf("\n Day la cap so cong");
    31.     else
    32.         printf("\n Day khong la cap so cong");
    33.     getch();
    34. }
    I'm superman

  9. #9
    Ngày gia nhập
    11 2008
    Nơi ở
    Hà Nội
    Bài viết
    70

    Em suy nghĩ mà vẫn chưa rõ tại sao thêm break thì nó lại chạy đúng. Nếu không có break thi nó chạy như thế nào??? Có cách nào xem được qua trình chạy của nó không ạ???
    Mọi người giải thích cho em với.
    Dân thường sống đẹp đè bẹp dân chơi.
    Hi [you]

  10. #10
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Trích dẫn Nguyên bản được gửi bởi zodjac1990 Xem bài viết
    Em suy nghĩ mà vẫn chưa rõ tại sao thêm break thì nó lại chạy đúng. Nếu không có break thi nó chạy như thế nào??? Có cách nào xem được qua trình chạy của nó không ạ???
    Mọi người giải thích cho em với.
    Debug nhé 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