Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 6 của 6
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    kiểm tra số hoàn hảo có trong mảng rồi xuất ra

    mọi người test dùm e bài này với nó sai nhiều cái kì cục,e không biết sữa sao hết.mong mọi người giúp đỡ.thankks
    #include <stdio.h>
    #include <conio.h>
    void Nhap(int a[],int n);
    void Xuat(int a[],int n);
    bool KiemTra(int a[],int n);
    int SoHoanHao(int x);
    void main()
    {
    int a[100],n;
    printf("So phan tu cua mang: ");
    scanf("%d",&n);
    printf("Nhap mang duong:
    ");
    Nhap(a,n);
    if(KiemTra(a,n)==true)
    {
    printf("Trong mang co so hoan hao");
    }
    else
    {
    printf("Mang khong co so hoan hao");
    }
    printf("Cac so hoan hoan co trong mang: ");
    Xuat(a,n);
    getch();

    }
    void Nhap(int a[],int n)//Nhap mang duong
    {
    for(int i=0;i<n;i++)
    {
    if(a[i]>0)
    {
    printf("a[%d] ",i+1);
    scanf("%d",&a[i]);
    }
    else if(a[i]<0)
    {
    printf("Mang khong chua phan tu am.vui long nhap lai: ");
    scanf("%d ",&a[i]);
    }
    }
    }
    bool KiemTra(int a[],int n)// kiem tra a[i] co phai la so hoan hao
    {
    for(int i=0;i<n;i++)
    {
    if(SoHoanHao(a[i]) && a[i]>0)
    {
    return true;
    }
    }
    return false;
    }
    int SoHoanHao(int x)
    {
    int S=0;
    for(int i=1;i<x;i++)
    {
    if(x%i==0)
    {
    S+=i;
    }
    if(S==x)
    {
    return 1;
    }
    }
    return 0;
    }
    void Xuat(int a[],int n)
    {
    for(int i=0;i<n;i++)
    {
    if(SoHoanHao(a[i]))
    {
    printf("%d ",a[i]);
    }

    }
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn tham gia forum dc cũng kha khá thời gian rồi, cũng được nhắc nhở nhiều rồi mà sao vẫn chưa chịu bỏ code vào tag code ?
    Muốn đầu độc con mắt của những thành viên khác hả bạn

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cố gắng chỉnh code dể đọc bạn ơi, người khác muốn giúp bạn cũng dể hơn

  4. #4
    Trích dẫn Gửi bởi mremty
    mọi người test dùm e bài này với nó sai nhiều cái kì cục,e không biết sữa sao hết.mong mọi người giúp đỡ.thankks
    #include <stdio.h>
    #include <conio.h>
    void Nhap(int a[],int n);
    void Xuat(int a[],int n);
    bool KiemTra(int a[],int n);
    int SoHoanHao(int x);
    void main()
    {
    int a[100],n;
    printf("So phan tu cua mang: ");
    scanf("%d",&n);
    printf("Nhap mang duong:
    ");
    Nhap(a,n);
    if(KiemTra(a,n)==true)
    {
    printf("Trong mang co so hoan hao");
    }
    else
    {
    printf("Mang khong co so hoan hao");
    }
    printf("Cac so hoan hoan co trong mang: ");
    Xuat(a,n);
    getch();

    }
    void Nhap(int a[],int n)//Nhap mang duong
    {
    for(int i=0;i<n;i++)
    {
    if(a[i]>0)
    {
    printf("a[%d] ",i+1);
    scanf("%d",&a[i]);
    }
    else if(a[i]<0)
    {
    printf("Mang khong chua phan tu am.vui long nhap lai: ");
    scanf("%d ",&a[i]);
    }
    }
    }
    bool KiemTra(int a[],int n)// kiem tra a[i] co phai la so hoan hao
    {
    for(int i=0;i<n;i++)
    {
    if(SoHoanHao(a[i]) && a[i]>0)
    {
    return true;
    }
    }
    return false;
    }
    int SoHoanHao(int x)
    {
    int S=0;
    for(int i=1;i<x;i++)
    {
    if(x%i==0)
    {
    S+=i;
    }
    if(S==x)
    {
    return 1;
    }
    }
    return 0;
    }
    void Xuat(int a[],int n)
    {
    for(int i=0;i<n;i++)
    {
    if(SoHoanHao(a[i]))
    {
    printf("%d ",a[i]);
    }

    }
    }
    đọc xong, 2 măt nhìn về 2 hướng khác nhau,mà chưa biết lý do tại sao!
    hồi lâu mới nhận ra!hic[IMG]images/smilies/Surprised.gif[/IMG]

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    đọc xong thấy ...oải [IMG]images/smilies/11.gif[/IMG]

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    sai ở hàm nhập.ko thể dùng if else vs trg hợp này đc.

 

 

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
  •