Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define MAX 500
- #include <iostream>
- #include <cstdlib>
- #include <ctime> // biblioteka do srand
- #include <stdlib.h>
- using namespace std;
- int main()
- {
- srand(time(NULL));
- int tab[MAX];
- int x=0;
- int rep=0,temp=0, a=0;
- int min=0, i=0,j=0,k=0, h=0, licznik=0, licznik2=0;
- cout << "Tablica nieposortowana - losowa:" << endl;
- for (int i=0;i<MAX;i++)
- {
- tab[i]=(rand()%(MAX)) +0;
- }
- for (int i=0;i<MAX;i++)
- {
- cout << tab[i] << "\t";
- if((i+1)%5==0)
- cout << endl;
- }
- //sortowanie babelkowe
- do
- {
- rep=0; // przed kazdym przejsciem petli for, zmienna rep (ang. replacement) jest zerowana
- for (int i=0; i<MAX; i++)
- {
- if (tab[i] > tab[i+1]) // warunek jesli element tablicy jest wiekszy od nastepnego elementu
- {
- rep=rep+1; // jesli jest jakas zmiana to zmienna rep zwieksza sie
- temp=tab[i]; // wartość tab[i] jest kopiowana do schowka (ang. temporary)
- tab[i]=tab[i+1]; // tab[i] przyjmuje wartość tab[i+1], gdyż jest on mniejszy
- tab[i+1]=temp; // tab[i+1] przyjmuje wartość wcześniejszego elementu, gdyż jest on wiekszy
- }
- }
- }
- while (rep!=0); // jeżeli zmienna rep miałaby wartość 0, to znaczy, ze nie zaszly żadne zmiany, a wiec konczy sortowanie
- cout << endl;
- // sortowanie przez wybór
- /*
- for(k=0;k<MAX;k++) // zaczynamy szukanie od pierwszego elementu do ostatniego
- {
- min = k; // pomocnicza zmienna przechowująca indeks znalezionego najmniejszego elementu
- for(int j=k+1;j<MAX;j++) // zaczynamy szukanie najmniejszego element w tablicy
- {
- if(tab[j]<tab[min]) // jezeli znalezlismy mniejszy element, to będzie on przechowywany w zmiennej min
- {
- min=j; // przechowywany najmniejszy element
- }
- }
- swap(tab[min],tab[k]); //funkcja swap zamienia miejscami, w miejsce tab[min] wstawia tab[k] i na odwrot (czyli porządkujemy elementy)
- }
- */
- cout << "Tablica posortowana" << endl;
- for (int i=0; i<MAX;i++)
- {
- cout << tab[i] << "\t";
- if((i+1)%5==0)
- cout << endl;
- }
- cout << "Tablica odwrocona" << endl;
- for (int i=MAX; i>=0;i--)
- {
- cout << tab[i] << "\t";
- if((i+1)%5==0)
- cout << endl;
- }
- cout << endl;
- system("pause");
- return 0;
- }
- /*
- //Przez wybieranie
- for(k=0;k<MAX;k++) // zaczynamy szukanie od pierwszego elementu do ostatniego
- {
- min = k; // pomocnicza zmienna przechowująca indeks znalezionego najmniejszego elementu
- for(int j=k+1;j<MAX;j++) // zaczynamy szukanie najmniejszego element w tablicy
- if(tab[j]<tab[min]) // jezeli znalezlismy mniejszy element, to będzie on przechowywany w zmiennej min
- {
- min=j; // przechowywany najmniejszy element
- }
- swap(tab[min],tab[k]); //funkcja swap zamienia miejscami, w miejsce tab[min] wstawia tab[k] i na odwrot (czyli porządkujemy elementy)
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement