Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <conio.h>
- #include <ctime>
- using namespace std;
- void wpisz (int T[], int n);
- void wypisz (int T[], int n);
- void bombelki (int T[], int n);
- void zliczanie (int T[], int n);
- void przezwybor (int T[], int n);
- void wstawianie (int T[], int n);
- int main()
- {
- char kolejne='t';
- string haslo="delta";
- cout<<"Podaj haslo: ";
- string podane;
- cin>>podane;
- if(podane==haslo) cout<<"masz dostep"<<endl;
- else cout<<"Bledne haslo"<<endl;
- while(podane!=haslo)
- {
- cout<<"Podaj poprawne haslo!"<<endl;
- cin>>podane;
- }
- do
- {
- int n;
- cout<<"Podaj ilosc elementow tablicy: ";
- cin>>n;
- int T[n];
- wpisz(T,n);
- // wypisz(T,n);
- cout<<endl<<endl<<endl;
- cout<<"-------MENU--GLOWNE-------"<<endl;
- cout<<"--------------------------"<<endl;
- cout<<"1. Sortowanie babelkowe."<<endl;
- cout<<"2. Sortowanie przez wstawianie."<<endl;
- cout<<"3. Sortowanie przez wybor."<<endl;
- cout<<"4. Sortowanie przez zliczanie."<<endl;
- cout<<"5. Wyjscie"<<endl;
- cout<<"--------------------------"<<endl;
- char wybor;
- wybor=getch();
- cout<<"Wybrano opcje: "<<wybor<<endl<<endl;
- cout<<endl;
- switch (wybor)
- {
- case '1':
- {
- cout<<"Sortowanie babelkowe:"<<endl<<endl;
- double start=clock();
- bombelki(T,n);
- double stop=clock();
- double wynik= (stop-start)/CLOCKS_PER_SEC;
- cout<<"Sortowanie trwalo: "<<wynik<<endl;
- //wypisz(T,n);
- break;
- }
- case '2':
- {
- cout<<"Sortowanie przez wstawianie."<<endl;
- double start=clock();
- wstawianie(T,n);
- double stop=clock();
- double wynik= (stop-start)/CLOCKS_PER_SEC;
- cout<<"Sortowanie trwalo: "<<wynik<<endl;
- // wypisz(T,n);
- break;
- }
- case '3':
- {
- cout<<"Sortowanie przez wybor."<<endl;
- double start=clock();
- przezwybor (T,n);
- double stop=clock();
- double wynik= (stop-start)/CLOCKS_PER_SEC;
- cout<<"Sortowanie trwalo: "<<wynik<<endl;
- //wypisz(T,n);
- break;
- }
- case '4':
- {
- cout<<"Sortowanie przez zliczanie"<<endl;
- double start=clock();
- zliczanie(T,n);
- double stop=clock();
- double wynik= (stop-start)/CLOCKS_PER_SEC;
- cout<<"Sortowanie trwalo: "<<wynik<<endl;
- //wypisz(T,n);
- break;
- }
- case '5':
- {
- cout<<"KONIEC"<<endl<<endl;
- exit(0);
- }
- default:
- cout<<"Brak opcji w menu"<<endl;
- }
- cout<<"\n \nCzy chesz jeszcze raz?";
- kolejne=getch();
- system("cls");
- }
- while (kolejne=='t');
- cout<<"KONIEC"<<endl<<endl;
- return 0;
- }
- void wpisz(int tablica[], int n)
- {
- srand(time(NULL));
- for (int i=0; i<n; i++)
- {
- int los=rand()%(10);
- tablica[i]=los;
- }
- }
- void wypisz(int tablica[], int n)
- {
- cout<<endl<<"TABLICA"<<endl<<endl;
- srand(time(NULL));
- for (int i=0; i<n; i++)
- {
- cout<<tablica[i]<<" ";
- }
- }
- void bombelki(int T[], int n)
- {
- double pom;
- for(int j=n-1; j>0; j--)
- for(int i=0; i<j; i++)
- if(T[i]>T[i+1])
- {
- pom=T[i];
- T[i]=T[i+1];
- T[i+1]=pom;
- }
- }
- void zliczanie (int T[], int n)
- {
- int m=10;
- int P[m+1]={0};
- for (int i=0; i<n; i++) P[T[i]]++;
- int k=0;
- for (int i=0; i<m+1; i++)
- for (int j=P[i]; j>=1; j--)
- {
- T[k]=i;
- k++;
- }
- }
- void przezwybor (int T[], int n) //n - ilość elementów do posortowania
- {
- int mn_index; //zmienna pomocnicza przechowująca indeks komórki
- //z minimalną wartością
- for(int i=0;i<n-1;i++)
- {
- mn_index = i;
- for(int j=i+1;j<n;j++) //pętla wyszukuje najmniejszy element w podzbiorze nieposortowanym
- if(T[j]<T[mn_index])
- mn_index = j; //zamiana elementu najmniejszego w podzbiorze z pierwszą pozycją nieposortowaną
- swap(T[i], T[mn_index]);
- }
- }
- void wstawianie( int tab[],int n)
- {
- int pom, j;
- for(int i=1; i<n; i++)
- {
- //wstawienie elementu w odpowiednie miejsce
- pom = tab[i]; //ten element będzie wstawiony w odpowiednie miejsce
- j = i-1;
- //przesuwanie elementów większych od pom
- while(j>=0 && tab[j]>pom)
- {
- tab[j+1] = tab[j]; //przesuwanie elementów
- --j;
- }
- tab[j+1] = pom; //wstawienie pom w odpowiednie miejsce
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement