Thứ Tư, 1 tháng 5, 2019

[C] Tạo hàm đếm số lần xuất hiện (2 hàm, 3 mảng)

#include <stdio.h>
#include <conio.h>
bool CoTrongA(int socankiemtra, int dsdain[], int soluongdain);
int demsolanxuathien(int bien, int A[], int soluongds);
main()
{
    int A[10],B[10],C[10],n,dsdain[10],soluongdain=0,bien;

//nhập vào từ bàn phím
printf("Nhap n="); scanf("%d",&n);
for(int i=0;i<n;i++)
    {
        printf("phan tu thu %d : ",i+1); scanf("%d",&A[i]);
    }

    //hiện mảng đã nhập
    printf("\nMANG VUA NHAP la:");
    for(int i=0;i<n;i++)
    {
        printf("\nphan tu thu %d la : %d",i+1,A[i]);
    }

    for(int i=0;i<n;i++)
    {
        if(!CoTrongA(A[i],B,soluongdain)) //nếu A chưa có trong B
        {
            int solan=0;
            solan=demsolanxuathien(A[i],A,n);
            B[soluongdain]=A[i];
            C[soluongdain]=solan;
            soluongdain=soluongdain+1;
        }
    }
    //in ra kết quả
    printf("\n\nDANH SACH KET QUA:");
    for(int i=0;i<soluongdain;i++)
    {
        printf("\nptu thu %d xuat hien %d lan",B[i],C[i]);
    }

    getch();
}
//hàm kiểm tra 1 phần tử có trong ds
bool CoTrongA(int socankiemtra, int dsdain[], int soluongdain)
{
    //duyệt từ đầu đến cuối,nếu có thì trả ra là đã có
    for(int i=0;i<soluongdain;i++)
    {
        if(socankiemtra==dsdain[i])
        {
            return true;
        }
    }
    //duyệt hết rồi mà ko có thì trả ra là không có
    return false;
}
//hàm đếm số lần xuất hiện
int demsolanxuathien(int bien, int A[], int soluongds)
{
            int solan=0;
            for(int j=0;j<soluongds;j++)
            {
                if(bien==A[j])
                {
                    solan=solan+1;
                }
            }
            return solan;
}

Không có nhận xét nào:

Đăng nhận xét