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

Đề tài: [C] Dãy đối xứng??

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

    Mặc định [C] Dãy đối xứng??

    các bạn kiểm tra giúp mình xem bài này sai ở đâu nhé! Đây là bài kiểm tra xem dãy có đối xứng hay không?

    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    void main()
    {

    int i,n,a[100],d;
    do
    {
    printf("nhap vao so pt : N = ");
    scanf("%d",&n);
    }
    while((n>500)||(n<=0));
    for(i=0;i<n;i++)
    {
    printf("\na[%d]=",i+1);
    scanf("%d",&a[i]);
    }
    d=0;
    for(i=1;i<=int(n/2);i++)
    if(a[i]==a[n-i+1])
    d++;
    if(d==int(n/2))
    printf("\nDay doi xung");
    else
    printf("\nDay khong doi xung");
    }

    Xin mọi người chỉ giúp!

  2. #2
    Ngày gia nhập
    08 2006
    Bài viết
    19

    Trích dẫn Nguyên bản được gửi bởi basduy Xem bài viết
    for(i=1;i<=int(n/2);i++)
    if(a[i]==a[n-i+1])
    sai ở đây. mảng trong C bắt đầu từ phần tử 0.
    đổi lại:
    for (i=0; i<(n/2); i++)
    if (a[i]== a[n-i-1])

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

    Mình đã sửa chỗ đó nhưng vẫn không ra: Cậu thử xam lại giúp mình nhé!
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    void main()
    {

    int i,n,a[100],d;
    do
    {
    printf("nhap vao so pt : N = ");
    scanf("%d",&n);
    }
    while((n>500)||(n<=0));
    for(i=0;i<n;i++)
    {
    printf("\na[%d]=",i+1);
    scanf("%d",&a[i]);
    }
    d=0;
    for(i=0;i<(n/2);i++)
    if(a[i]==a[n-i+1])
    d++;
    if(d==2)
    printf("\nDay doi xung");
    else
    printf("\nDay khong doi xung");
    }

  4. #4
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Trích dẫn Nguyên bản được gửi bởi basduy Xem bài viết
    d=0;
    for(i=0;i<(n/2);i++)
    if(a[i]==a[n-i+1])
    d++;
    if(d==2)
    printf("\nDay doi xung");
    else
    printf("\nDay khong doi xung");
    }
    Bạn coi lại đoạn code này xem, mình chỉ nhìn qua là thấy có gì là lạ rồi
    Này nhé, i =0 , thì if (a[0] == a[n-0+1]) .... , bạn thấy chưa, mảng n phần tử thì làm gì tồn tại phần tử thứ n+1 để cho bạn xét. ==> Cách giải quyết bài toán của bạn có vấn đề rồi. Chúc bạn sớm giải quyết được vấn đề

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

    Cảm ơn Neverland 87 nhe! Tớ tìm ra rối Đây là code chuẩn nhất!
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    void main()
    {

    int i,n,a[100],d;
    do
    {
    printf("nhap vao so pt : N = ");
    scanf("%d",&n);
    }
    while((n>500)||(n<=0));
    for(i=0;i<n;i++)
    {
    printf("\na[%d]=",i+1);
    scanf("%d",&a[i]);
    }
    d=0;
    for(i=0;i<(n/2);i++)
    if(a[i]==a[n-i-1])
    d++;
    if(d==int(n/2))
    printf("\nDay doi xung");
    else
    printf("\nDay khong doi xung");
    }
    Đã được chỉnh sửa lần cuối bởi basduy : 20-03-2007 lúc 06:09 PM.

  6. #6
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Mặc định [C] Dãy đối xứng??

    Bài này thảo luận lâu lắm rồi. Lục trong đống tài liệu của forum :
    Zô đây xem code chuẩn : http://forums.congdongcviet.com/show...57&postcount=7
    None!

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