fork download
  1. '''
  2. Fiind dat vectorul X cu n elemente intregi, sa se afiseze
  3. in ordinea crescatoare a elementelor componentelor distincte si a
  4. frecventelor lor de aparitie.
  5.  
  6. Data de intrare: n = 6; X = [45, -90, 45, 2, 25, 2]
  7. Date de iesire: Elementul -90 apare o data.
  8. Elementul 2 apare de 2 ori.
  9. Elementul 45 apare de 3 ori.
  10. '''
  11. def sort(arr, n):
  12. for i in range(0, n - 1):
  13. min = arr[i]
  14. pos = i
  15. for j in range(i + 1, n):
  16. if arr[j] < min:
  17. min = arr[j]
  18. pos = j
  19. aux = arr[pos]
  20. arr[pos] = arr[i]
  21. arr[i] = aux
  22.  
  23. def main():
  24. arr = [1,2,3,2,5,-41,7,8,-41,15,90,-41,2,3,5,8]
  25. print(arr)
  26. vec = [ 0 ] * 1000
  27. k = 0
  28. freq = [ 0 ] * 100
  29. n = len(arr)
  30. sort(arr, n)
  31. k = 0
  32. vec[k] = arr[0]
  33. freq[k] = 1
  34. for i in range(0, n - 1):
  35. if arr[i] == arr[i+1]:
  36. freq[k] += 1
  37. else:
  38. k += 1
  39. vec[k] = arr[i+1]
  40. freq[k] = 1
  41. for i in range(0, k):
  42. if freq[i] == 1:
  43. print("Elementul ", vec[i], " apare o singura data!")
  44. else:
  45. print("Elementul ", vec[i], " apare de ", freq[i], " ori!")
  46.  
  47. main()
  48.  
Success #stdin #stdout 0.02s 9228KB
stdin
Standard input is empty
stdout
[1, 2, 3, 2, 5, -41, 7, 8, -41, 15, 90, -41, 2, 3, 5, 8]
Elementul  -41  apare de  3  ori!
Elementul  1  apare o singura data!
Elementul  2  apare de  3  ori!
Elementul  3  apare de  2  ori!
Elementul  5  apare de  2  ori!
Elementul  7  apare o singura data!
Elementul  8  apare de  2  ori!
Elementul  15  apare o singura data!