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

Đề tài: nhập vào dãy số nguyên in ra dãy chẵn và dãy lẻ

  1. #1
    No Avatar
    live45love Khách

    Smile nhập vào dãy số nguyên in ra dãy chẵn và dãy lẻ

    mình mới học c nên kô rõ về con trỏ lắm, mong các bạn giúp đỡ
    đề bài là: nhập vào dãy số nguyên in ra dãy chẵn và dãy lẻ, dùng con trỏ cấp phát động và thu hồi bộ nhớ!

    PHP Code:
    #include<stdio.h>
    #include<conio.h>

    void main()
    {
      
    int *p,*round,*odd,i,j=-1,k=-1,n;
      
    printf("so phan tu = ");
      
    scanf("%d",&n);
      
    p=round=odd=new int[n];//cap phat dong cho con tro
      
    printf("\nnhap vao %d so nguyen\n",n);
      for(
    i=0;i<n;i++)
      {
         
    scanf("%d",p+i);
         if(*(
    p+i)%2==0)
            *(
    round+(++j))=*(p+i);
         else
            *(
    odd+(++k))=*(p+i);
      }
      
    //in ra cac day so
      
    printf("\nday so nhap vao la\n");
      for(
    i=0;i<n;i++)
         
    printf("%d\t",*(p+i));
      
    printf("\nday so chan\n");
      for(
    i=0;i<=j;i++)
         
    printf("%d\t",*(round+i));
      
    printf("\nday le\n");
      for(
    i=0;i<=k;i++)
         
    printf("%d\t",*(odd+i));
      
    delete (p,round,odd);
      
    getch();


  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Tớ cũng không biết lỗi gì nữa , khi cậu chạy thì nó báo lỗi gì ? Có thể ghi nguyên vẹn câu ấy lên không ?

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

    Trích dẫn Nguyên bản được gửi bởi live45love Xem bài viết
    mình mới học c nên kô rõ về con trỏ lắm, mong các bạn giúp đỡ
    đề bài là: nhập vào dãy số nguyên in ra dãy chẵn và dãy lẻ, dùng con trỏ cấp phát động và thu hồi bộ nhớ!

    PHP Code:
    #include<stdio.h>
    #include<conio.h>

    void main()
    {
      
    int *p,*round,*odd,i,j=-1,k=-1,n;
      
    printf("so phan tu = ");
      
    scanf("%d",&n);
      
    p=round=odd=new int[n];//cap phat dong cho con tro
      
    printf("\nnhap vao %d so nguyen\n",n);
      for(
    i=0;i<n;i++)
      {
         
    scanf("%d",p+i);
         if(*(
    p+i)%2==0)
            *(
    round+(++j))=*(p+i);
         else
            *(
    odd+(++k))=*(p+i);
      }
      
    //in ra cac day so
      
    printf("\nday so nhap vao la\n");
      for(
    i=0;i<n;i++)
         
    printf("%d\t",*(p+i));
      
    printf("\nday so chan\n");
      for(
    i=0;i<=j;i++)
         
    printf("%d\t",*(round+i));
      
    printf("\nday le\n");
      for(
    i=0;i<=k;i++)
         
    printf("%d\t",*(odd+i));
      
    delete (p,round,odd);
      
    getch();

    Code:
    #include<stdio.h>
    #include<conio.h>
    
    void main()
    {
      int *p,*round,*odd,i,j=-1,k=-1,n;
      printf("so phan tu = ");
      scanf("%d",&n);
      p=new int[n];
      round=new int[n];
      odd=new int[n];//cap phat dong cho con tro
      printf("\nnhap vao %d so nguyen\n",n);
      for(i=0;i<n;i++)
      {
         scanf("%d",p+i);
         if(*(p+i)%2==0)
            *(round+(++j))=*(p+i);
         else
            *(odd+(++k))=*(p+i);
      }
      //in ra cac day so
      printf("\nday so nhap vao la\n");
      for(i=0;i<n;i++)
         printf("%d\t",*(p+i));
      printf("\nday so chan\n");
      for(i=0;i<=j;i++)
         printf("%d\t",*(round+i));
      printf("\nday le\n");
      for(i=0;i<=k;i++)
         printf("%d\t",*(odd+i));
      delete (p,round,odd);
      getch();
    }

    OoShinHaoO

  4. #4
    No Avatar
    live45love Khách

    đề bài là nhập vào 1 dãy số nguyên in ra 2 dãy chãn và lẻ dùng con trỏ
    nhưng mình làm nó không ra
    code thì dịch không có lỗi, nhưng kết quả thì kô như mong muốn
    mình nghĩ là đây là sai do chưa hiểu hết về con trỏ!! và thuật toán

  5. #5
    No Avatar
    live45love Khách

    đã ngộ ra thưa các bác
    thì ra là
    p=round=odd=new int[n]; chỉ cấp phát cho một con trỏ
    p=new int[n];round=new int[n];odd=new int[n] mới cấp phát cho 3 con trỏ
    sai có một dòng heheheheh

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

    Mặc định nhập vào dãy số nguyên in ra dãy chẵn và dãy lẻ

    Khi lập trình với C, tương tác với hệ thống tránh viết tắt nhé . Vì nhiều lúc nó không đúng theo nghĩa bạn hiểu bình thường đâu.
    Thêm 1 kinh nghiệm nhé !
    None!

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

  1. Bài tập C++ Nhập vào các số nguyên dương in ra số chẵn lẻ
    Gửi bởi tuanlt10 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 24-07-2013, 10:56 AM
  2. Trả lời: 6
    Bài viết cuối: 09-12-2012, 09:55 PM
  3. In số nguyên chẵn nhỏ nhất trong danh sách?
    Gửi bởi tadenday trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 26-09-2011, 03:55 PM
  4. Kỹ thuật C Nhập mảng nguyên sao cho chẵn tăng, lẻ giảm
    Gửi bởi lytieu_long550 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 19-08-2011, 07:19 PM
  5. nhập vào mãng 1 chiều các số nguyên và xuất ra các phần tử chẵn nhỏ hơn 20
    Gửi bởi datdao2000 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: 24-11-2010, 08:48 AM

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