'''
Fiind dat vectorul X cu n elemente intregi, sa se afiseze
in ordinea crescatoare a elementelor componentelor distincte si a
frecventelor lor de aparitie.

Data de intrare: n = 6; X = [45, -90, 45, 2, 25, 2]
Date de iesire: Elementul -90 apare o data.
                Elementul 2 apare de 2 ori.
                Elementul 45 apare de 3 ori.
'''
def sort(arr, n):
    for i in range(0, n - 1):
        min = arr[i]
        pos = i
        for j in range(i + 1, n):
            if arr[j] < min:
                min = arr[j]
                pos = j
        aux = arr[pos]
        arr[pos] = arr[i]
        arr[i] = aux

def main():
    arr = [1,2,3,2,5,-41,7,8,-41,15,90,-41,2,3,5,8]
    print(arr)
    vec = [ 0 ] * 1000
    k = 0
    freq = [ 0 ] * 100
    n = len(arr)
    sort(arr, n)
    k = 0
    vec[k] = arr[0]
    freq[k] = 1
    for i in range(0, n - 1):
        if arr[i] == arr[i+1]:
            freq[k] += 1
        else:
            k += 1
            vec[k] = arr[i+1]
            freq[k] = 1
    for i in range(0, k):
        if freq[i] == 1:
            print("Elementul ", vec[i], " apare o singura data!")
        else:
            print("Elementul ", vec[i], " apare de ", freq[i], " ori!")

main()
