DMG

Prebrojavanje koliko se puta pojavljuje svaki clan niza

DMG
Mar 29th, 2012
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.43 KB | None | 0 0
  1. /* Napisati program koji ispisuje koliko puta se pojavljuje svaki razliciti clan niza. */
  2. #include <iostream>
  3. using namespace std;
  4. /* Funkcija za prebrojavanje clanova niza */
  5. int prebroj (int* a, int n, int p)
  6. {
  7.     int s = 0;
  8.     for (int i=0; i<n; i++)
  9.     if (a[i] == p)
  10.     s = s + 1;
  11.     return s;
  12. }
  13. main()
  14. {
  15.       int n, a[50], b[50], i, j, t, d;
  16.       cin >> n;
  17.      
  18. /* Unos niza */
  19.       for (i=0; i<n; i++)
  20.       cin >> a[i];
  21.      
  22. /* Sortiranje niza */
  23.       for (i=n-2; i>=0; i--)
  24.       for (j=0; j<=i; j++)
  25.       if (a[j]>a[j+1])
  26.       {
  27.                        t = a[j];
  28.                        a[j] = a[j+1];
  29.                        a[j+1] = t;
  30.       }
  31.       i = 0;
  32.       j = 0;
  33.       while (i<n)
  34.       {
  35.             if (a[i] != a[i+1])
  36.             {
  37.                 b[j] = prebroj(a, n, a[i]);
  38.                 j = j + 1;
  39.             }
  40.             i = i + 1;
  41.       }
  42.      
  43. /* Ispisivanje niza i koliko se puta pojavljuju brojevi:            
  44.       for (i=0; i<n; i++)
  45.       cout << a[i] << " ";
  46.       cout << endl;          
  47.       for (i=0; i<j; i++)
  48.       cout << b[i] << " ";
  49.       cout << endl;  
  50. */      
  51.  
  52. /* Ispis koji broj se koliko puta pojavljuje */        
  53.       d = b[0] - 1;      
  54.       for (i=0; i<j; i++)
  55.       {
  56.           cout << "Broj " << a[d] << " se ponavlja " << b[i] << " puta." << endl;
  57.           d = d + b[i+1];
  58.       }
  59.       system ("PAUSE");
  60. }
Advertisement
Add Comment
Please, Sign In to add comment