Facebook
From Maciek, 3 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 202
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. const int wmin = 2, wmax = 30;
  8. int t[20], k[10], lw[wmax - wmin + 1], j=0;
  9.  
  10. bool czy_pierwsza(int n){
  11.         if (n < 2) {
  12.                 return false;
  13.         }
  14.         for (int i = 2; i * i <= n; i++) {
  15.                 if (n % i == 0)
  16.                         return false;
  17.         }
  18.         return true;
  19. }
  20.  
  21. void sortowanie_kubelkowe() {
  22.         for (int i = wmin; i <= wmax; i++) {
  23.                 lw[i - wmin] = 0;
  24.         }
  25.         for (int i = 0; i < 20; i++) {
  26.                 lw[t[i] - wmin]++;
  27.         }
  28.         for (int i = wmin; i <= wmax; i++) {
  29.                 while (lw[i - wmin]--) t[j++] = i;
  30.         }
  31. }
  32.  
  33. int main() {
  34.  
  35.         srand(time(NULL));
  36.         cout << "Nieposortowane: ";
  37.         for (int i = 0; i < 20; i++) {
  38.  
  39.                 while (czy_pierwsza(t[i]) == false) {
  40.                         t[i] = (wmin + rand() % wmax - 1);
  41.                 }
  42.                 cout << t[i] << " ";
  43.         }
  44.         cout << endl;
  45.  
  46.         sortowanie_kubelkowe();
  47.  
  48.         cout << "Posortowane: ";
  49.         for (int i = 0; i < 20; i++) {
  50.                 cout << t[i] << " ";
  51.         }
  52.  
  53.         return 0;
  54. }