Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C by MinhAn ( 5 years ago )
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>

int subArray[10];

void get_digits(int n) {
    while(n != 0) {
        int r = n % 10;
        subArray[r]++;
        n /= 10;
    }
}

void check_digits(int* a,int n) {
    for(int i = 0; i < n; ++i) {
        get_digits(a[i]);
    }
}

int min_digits() {
    int nSubArray = sizeof(subArray) / sizeof(subArray[0]);
    int min = INT_MAX;
    for(int i = 0; i < nSubArray; i++) {
        if(subArray[i] != 0){
            if(subArray[i] < min) {
                min = subArray[i];
            }
        }
    }
    return min;
}

int main()
{
    int a[] = {11, 11, 22, 33};
    int nA = sizeof(a) / sizeof(a[0]); // size of array a
    check_digits(a, nA);

    int nSubArray = sizeof(subArray) / sizeof(subArray[0]); // size of subArray
    for(int i = 0; i < nSubArray; ++i) {
        if(subArray[i] != 0)
        {
            printf("\n%d has %d times", i, subArray[i]);
        }
    }

    int min = min_digits(subArray);
    printf("\n\n\tResult:");
    for(int i = 0; i < nSubArray; ++i) {
        if(subArray[i] == min) {
            printf("\nMin is %d", i);
        }
    }
    return 0;
}

 

Revise this Paste

Your Name: Code Language: