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