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

Đề tài: Đưa vào mảng b các số nguyên tố ở mảng a

  1. #1
    Ngày gia nhập
    08 2011
    Nơi ở
    hà nội
    Bài viết
    16

    Mặc định Đưa vào mảng b các số nguyên tố ở mảng a

    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    void nhapmang(int a[], int &na)
    {
    printf("Nhap na: ");
    scanf("%d",&na);
    for (int i=0; i<na;i++)
    {
    printf("Phan tu thu %d la: ",i);
    scanf("%d",&a[i]);
    }
    }

    int ngto(int n)
    {
    int nt=1;
    for(int i=2; i<=sqrt(n); i++)
    if (n%i==0)
    {
    nt=0;
    break;
    }
    if (nt==0) return 0;
    return 1;
    }
    void taomang_ngto(int b[], int &nb)
    {
    int a[100],na;
    nb=0;
    for(int i=0; i<na;i++)
    if (ngto(a[i]))
    {
    b[nb]=a[i];
    nb++;
    }
    }
    void xuatmang(int b[], int nb)
    {
    printf("\nMang nguyen to la : ");
    for (int i=0; i<nb; i++)
    printf("\t%d",b[i]);
    }
    int main()
    {
    int a[100],b[100],na,nb,n;
    nhapmang(a,na);
    ngto(n);
    taomang_ngto(b,nb);
    xuatmang(b,nb);
    getch();
    }
    Các bạn giúp mình tìm ra lỗi với. Mình bị mắc ở chỗ in mảng mới tạo ra.

  2. #2
    Ngày gia nhập
    08 2010
    Nơi ở
    Moscow, Russia Federation
    Bài viết
    913

    Sai cả về logic lẫn về cú pháp!
    - Thứ nhất, tác vụ của các hàm mà bạn liệt kê trong hàm main đã làm hết chức năng bạn cần chưa? Hàm ngto(n) làm cái gì?
    - Thứ hai, thử xem mảng a[100] trong hàm taomang_ngto(b,nb) là cái gì, nó có giá trị khởi tạo chưa mà bạn làm việc với nó?
    Mời các bạn ghé thăm blog cá nhân của tôi

  3. #3
    Ngày gia nhập
    08 2011
    Nơi ở
    hà nội
    Bài viết
    16

    Bạn có thể code giúp mình được không!!! Mình sắp thi rồi. Thực sự mình chỉ nghĩ ra được như thế :(

  4. #4
    Ngày gia nhập
    08 2010
    Nơi ở
    Moscow, Russia Federation
    Bài viết
    913

    Đây là một giải pháp tạm thời, thay vì việc sử dụng các biến cục bộ mình đổi thành khai báo toàn cục!
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <math.h>
    4.  
    5.  
    6. // function prototypes
    7. void nhapmang(int a[], int &na);
    8. int ngto(int n);
    9. void taomang_ngto(int b[], int &nb);
    10. void xuatmang(int b[], int nb);
    11.  
    12.  
    13. // declare global variables
    14. int a[100],b[100],na,nb,n;
    15.  
    16.  
    17. int main()
    18. {
    19.     nhapmang(a,na);
    20.     // ngto(n); !! cái này chẳng hiểu để làm gì?
    21.     taomang_ngto(b,nb);
    22.     xuatmang(b,nb);
    23.     getch();
    24. }
    25. void nhapmang(int a[], int &na)
    26. {
    27.     printf("Nhap na: ");
    28.     scanf("%d",&na);
    29.     for (int i=0; i<na;i++)
    30.     {
    31.         printf("Phan tu thu %d la: ",i);
    32.         scanf("%d",&a[i]);
    33.     }
    34. }
    35.  
    36. int ngto(int n)
    37. {
    38.     if(n < 2)
    39.         return 0;
    40.     if (n == 2)
    41.         return 1;
    42.     int nt=1;
    43.     int squareRoot = int(sqrt(double(n)));
    44.     for(int i=2; i <= squareRoot/*sqrt(double(n))*/; i++)
    45.         if (n%i == 0)
    46.             return 0;
    47.     //if (n%i == 0)
    48.     //{
    49.     //  nt=0;
    50.     //  break;
    51.     //}
    52.     //if (nt==0) return 0;
    53.     return 1;
    54. }
    55.  
    56. void taomang_ngto(int b[], int &nb)
    57. {
    58.     //int a[100],na;
    59.     nb=0;
    60.     for(int i=0; i<na;i++)
    61.     if (ngto(a[i]))
    62.     {
    63.         b[nb]=a[i];
    64.         nb++;
    65.     }
    66. }
    67. void xuatmang(int b[], int nb)
    68. {
    69.     printf("\nMang nguyen to la : ");
    70.     for (int i=0; i<nb; i++)
    71.     printf("\t%d",b[i]);
    72. }
    Mời các bạn ghé thăm blog cá nhân của tôi

  5. #5
    Ngày gia nhập
    08 2011
    Nơi ở
    hà nội
    Bài viết
    16

    thank a nhiều nha? Nhưng em xin hỏi 1 câu nữa là nếu e viết thêm một hàm đưa vào mảng c các số nguyên dương của mảng a thì lại phải viết thêm 1 hàm xuất mảng cho mảng c à???

  6. #6
    Ngày gia nhập
    08 2010
    Nơi ở
    Moscow, Russia Federation
    Bài viết
    913

    Mặc định Đưa vào mảng b các số nguyên tố ở mảng a

    Em sử dụng hàm xuất sẵn có cũng được chứ sao phải viết thêm. Nó chỉ là cái tên, thực hiện cùng nhiệm vụ, còn xuất cái gì thì em truyền cái đó vào tham số của hàm. Chẳng hạn cần xuất b thì truyền b, cần xuất c thì truyền c, em hiểu không?
    Mời các bạn ghé thăm blog cá nhân của tôi

  7. #7
    Ngày gia nhập
    08 2011
    Nơi ở
    hà nội
    Bài viết
    16

    E hiểu rồi ạ. thank a nhiều lắm

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

  1. Bài tập C giải thuật nhập vào số nguyên n in ra n số nguyên tố đầu tiên?
    Gửi bởi LTC trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 48
    Bài viết cuối: 25-04-2013, 07:40 PM
  2. Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên.
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 19-06-2011, 01:05 PM
  3. Game Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên trên C#?
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 18
    Bài viết cuối: 08-06-2011, 11:12 PM
  4. Bài tập C++ chương trình đổi 1 số nguyên trong hệ thập phân sang hệ fibo và cộng 2 số nguyên được
    Gửi bởi nghiapro512 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: 23-01-2011, 02:14 PM
  5. Lập trình C xin code cài đặt thuật toán sàng nguyên tố để liệt kê các số nguyên tố 2->480000
    Gửi bởi ngocdung_088 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 23
    Bài viết cuối: 06-12-2010, 11:53 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