# Print numbers in descending order along with their frequencies

Given with an array of int elements, the task is to arrange the elements in descending order and finding their occurrences.

Input : arr[]={1,1,1,2,2,2,3,3,4,5,6,7,7}
Output : 7 occurs: 2
6 occurs: 1
5 occurs: 1
4 occurs: 1
3 occurs: 2
2 occurs: 3
1 occurs: 3

## Algorithm

START
Step 1 -> input array with elements in sorting order
Step 2 -> calculate size of an array by sizeof(a)/sizeof(a[0]
Step 3 -> store size in a variable say en
Step 4 -> Loop For i=siz-1 and i>0 and i==
IF a[i]!=a[i-1]
Set to=en-1
Print a[i] and to
Set en=i
End
Step 5 -> print a[0] and to
STOP

## Example

#include<stdio.h>
int main() {
int a[]={1,1,1,2,2,2,3,3,4,5,6,7,7};
int siz,i,en,st,to;
siz=sizeof(a)/sizeof(a[0]);
en=siz;
for(i=siz-1;i>0;i--) {
if(a[i]!=a[i-1]) {
to=en-i;
printf("%d occurs: %d",a[i],to);
en=i;
}
}
to=en;
printf("%d occurs: %d",a[0],to);
}

## Output

if we run the above program then it will generate the following output

7 occurs: 2
6 occurs: 1
5 occurs: 1
4 occurs: 1
3 occurs: 2
2 occurs: 3
1 occurs: 3