count/display non-repeated element of array

hi guys

I'm working of self-study project that needs to count how many an element of an array is repeated. And print out result.

I've been asking myself whether there is a smarter way doing this. Can you please help?

Code:

`For instance:`

input 5 5 5 6 7 8 91 1

output:

1 1

5 3

6 1

7 1

8 1

91 1

number 5 appears 3 times, while other only shows up 1 time.

My algorithm goes like this: Since i don't study to use dynamic array yet. I assume the max of number of input is 100, or inputNumberArray[100]={0}. Then if the number of is input is less than 100, i will only concentrate on the non-zero part of the array.

There will be another array of coutingArray[100]={0} that will be used to store the counter's value for each element.

First, sort the array in acesnding order

so that: 1 5 5 5 6 7 8 91

Then, (the tricky part), try to detect the repeating of each element.

Code:

`//sourceArray=array of input numebrs`

//targetArray=array of counters

void processArrays(int sourceArray[], int element, int targetArray[])

{

for (int i=1; i<element;i++)

{

if (compareEl(sourceArray, i))

{

targetArray[i]=targetArray[i]+1;

cout << "\n TRUE " << targetArray[i];

} else

{

cout << "\n FALSE ";

continue;

}

}

}

And funtion compareEl to computer each element its LEFT neighbor and RIGHT neighbor.

1. if LEFT is the same && RIGHT is the same, do not count

2. if LEFT is different && RIGHT is different, do count

3. if LEFT is the same && RIGHT is different, do not count

4. if LEFT is different && RIGHT is the same, do count

thanks so mcuh!!!