Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <time.h>
- #include <iomanip>
- using namespace std;
- typedef int elem;
- int Min(elem [], int, int);
- void GTab(elem [], int, int, int);
- void PTab(elem [], int);
- void SelSort(elem [], int);
- int main()
- { const int MAX_N = 50;
- elem A[MAX_N];
- int n;
- int a, b;
- srand(time(0));
- cout << "Dlugosc ciagu: "; cin >> n;
- cout << "Przedzial wartosci, koniec lewy: "; cin >> a;
- cout << "Przedzial wartosci, koniec prawy: "; cin >> b;
- GTab(A,n,a,b); // generowanie n losowych elementów tablicy A
- cout << "Przed: ";
- PTab(A,n); // wypisanie nieuporządkowanej tablicy A
- SelSort(A,n); // Porządkowanie przez wybieranie
- cout << " Po: ";
- PTab(A,n); // wypisanie uporządkowanej tablicy A
- }
- void GTab(elem A[], int n, int a, int b)
- {
- for (int i=0; i<n; i++)
- A[i] = a + rand() % (b - a + 1);
- }
- void PTab(elem A[], int n)
- {
- for (int i=0; i<n; i++)
- cout << setw(3) << A[i];
- cout << endl;
- }
- void SelSort(elem A[], int n) // porządkujemy niemalejaco
- {
- elem buf;
- int k;
- for (int p = 0; p >= n-1; p++) // n-1 wyborów
- {
- k = Min(A,p, n);
- if (k != p)
- {
- buf = A[p];
- A[p] = A[k];
- A[k] = buf;
- }
- }
- }
- int Min(elem A[], int p, int n) // spośród indeksów [p,n-1],
- { // zwraca indeks najmniejszego elementu
- elem min = A[p];
- int k = A[p];
- for (int i=p+1; i<=n-1; i++)
- if (A[i] < min) {
- min = A[i];
- k=i;
- }
- return k;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement