Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 2 của 2 Đầu tiênĐầu tiên 12
Kết quả 11 đến 15 của 15
  1. #11
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn muốn nó như thế nào ?


    Tôi biên dịch trực tiếp và chạy như hình chụp trên - chưa đọc code.

  2. #12
    Trích dẫn Gửi bởi CoViet-Plus005
    Bạn muốn nó như thế nào ?


    Tôi biên dịch trực tiếp và chạy như hình chụp trên - chưa đọc code.
    cảm ơn bác đã chịu giúp em ạ ^^. Ở phần giao 2 mảng có kết quả là :5 . Các phần tử có trong a mà không có trong b : 9 2 . Các phần tử có trong b mà không có trong a:( chỗ này để trống ạ)

  3. #13
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Tôi đâu nói giúp bạn ?

    Thôi cũng được, lấy reply #2 làm bài sửa cho bạn, tôi giảng đến khi bạn hiểu.
    Bạn viết ở dòng 7

    Mã:
    void cauABE(int a[],int b[],int m, int n){...}
    thì sau khi gọi dòng 91:
    cauABE(a,b,m,n);
    giá trị m, n không đổi vẫn là 0 - thì các lần gọi khác tất nhiên bị sai. Dùng con trỏ *m hoặc tham chiếu &m để lấy kết quả trả về

    Còn nữa

    Mã:
    int KiemTra (int a[],int m, int x){    int i;    for(i=0; i<m;i++)    if(a[i] == x)    return 1;    else    return 0;}
    là sai, nó chỉ chạy 1 lần là kết thúc rồi ...

    Hãy tự sửa 2 lỗi trên rồi bàn tiếp.

    Tôi đã sửa nhưng có đặt pwd khi xong tôi giao mật mã để mở file đính kèm

  4. #14
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    int KiemTra (int a[],int m, int x)
    {
        int i;
        for(i=0; i<m;i++)
       {
        if(a[i] == x)
        return 1;
        else
        return 0;
        }
    }
    theo mình hiểu thì m nó sẽ lấy từ hàm void caABE rồi i<m đấy thì thực hiện vòng lặp

    - - - Nội dung đã được cập nhật ngày 23-07-2016 lúc 12:37 AM - - -

    Mã:
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    void cauABE(int a[],int b[],int m, int n)
    {
    int i,j;
    FILE *f;
    f=fopen("number5.in.txt","r+");
    FILE *g;
    g=fopen("number5.out.txt","w+");
    fscanf(f,"%d",&n);
    printf("so phan tu mang A %d
    ",n);
    fscanf(f,"%d",&m);
    printf("so phan tu mang B %d
    ",m);
    
    for (i=0;i<n;i++)
    fscanf(f,"%d",&a[i]);
    for (j=0;j<m;j++)
    fscanf(f,"%d",&b[j]);
    
    for (i=0;i<n;i++)
    printf("Hoi cua 2 mang : %d ",a[i]);
    for (j=0;j<m;j++)
    printf("%d ",b[j]);
    
    for (i=0;i<n;i++)
    fprintf(g,"%d ",a[i]);
    
    fclose(f);
    fclose(g);
    }
    
    int KiemTra (int a[],int *m, int x)
    {
    int i;
    for(i=0; i<*m; i++)
    if(a[i] == x)
    return 1;
    return 0;
    }
    
    void cauc(int a[],int b[], int *m,int *n) 
    {
    int i=0;
    printf("Giao cua 2 mang : ");
    for(i=0;i<*n;i++)
    {
    if(KiemTra(a,m,b[i])==1)
    printf("%d",b[i]);
    }
    }
    
    void Caud (int a[], int b[], int *m, int *n)
    {
    int i;
    printf("Cac phan tu co trong b ma khong co trong a: ");
    for( i=0; i<*n; i++)
    {
    if(KiemTra(a,m,b[i])==0)
    printf("%d",b[i]);
    } 
    printf("
    Cac phan tu co trong a ma khong co trong b: ");
    for( i=0; i<*n; i++)
    {
    if(KiemTra(a,m,b[i])==0)
    printf("%d",a[i]);
    }
    }
    
    int main(int argc, char *argv[])
    {
    int a[50],b[50];
    int n,m;
    int i,j;
    
    
    cauABE(a,b,m,n);
    printf("
    ");
    cauc(a,b,&m,&n);
    printf("
    ");
    Caud(a,b,&m,&n);
    return 0;
    }
    Mình có thử sử dụng con trỏ với tham chiêu sửa lại nhưng kết quả vẫn như thế (

  5. #15
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Sai vẫn sai, hãy sửa theo yêu cầu ở reply #13

    Viết có chú thích, còn viết như máy thì sao khá lên được.

    Hàm :
    int KiemTra (int a[],int m, int x){
    ...
    }
    nói theo ngôn ngữ tự nhiên hoặc toán học là sao, lý do ?

 

 
Trang 2 của 2 Đầu tiênĐầu tiên 12

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •