#include #include #include using namespace std; const int wmin = 2, wmax = 30; int t[20], k[10], lw[wmax - wmin + 1], j=0; bool czy_pierwsza(int n){ if (n < 2) { return false; } for (int i = 2; i * i <= n; i++) { if (n % i == 0) return false; } return true; } void sortowanie_kubelkowe() { for (int i = wmin; i <= wmax; i++) { lw[i - wmin] = 0; } for (int i = 0; i < 20; i++) { lw[t[i] - wmin]++; } for (int i = wmin; i <= wmax; i++) { while (lw[i - wmin]--) t[j++] = i; } } int main() { srand(time(NULL)); cout << "Nieposortowane: "; for (int i = 0; i < 20; i++) { while (czy_pierwsza(t[i]) == false) { t[i] = (wmin + rand() % wmax - 1); } cout << t[i] << " "; } cout << endl; sortowanie_kubelkowe(); cout << "Posortowane: "; for (int i = 0; i < 20; i++) { cout << t[i] << " "; } return 0; }