Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstdio>
- #include<ctime>
- #include<cstdlib>
- using namespace std;
- int tab[10],tab2[10],tab3[10],tabZ[10],byl=0,byl2=0,przebieg=0,ify=0,przebieg2=0,ify2=0;;
- void wys(){
- for(int i=0;i<10;i++){
- cout<<"["<<tab[i]<<"] ";
- }
- if(byl==1){cout<<"Przebiegi: "<<przebieg<<"; ify: "<<ify;}
- cout<<endl;
- for(int i=0;i<10;i++){
- cout<<"["<<tab2[i]<<"] ";
- }
- if(byl2==1){cout<<"Przebiegi: "<<przebieg2<<"; ify: "<<ify2;}
- cout<<endl;
- for(int i=0;i<10;i++){
- cout<<"["<<tab3[i]<<"] ";
- }
- getchar();getchar();
- }
- void sortujB(){
- int j;
- byl=1;
- przebieg=0,ify=0;
- for(int i=9;i>0;i--){
- for(j=0;j<i;j++){
- przebieg++;
- if(tab[j]>tab[j+1]){ify++;swap(tab[j],tab[j+1]);}
- }
- }
- }
- void los(){
- byl=0;byl2=0;
- srand(time(NULL));
- for(int i=0;i<10;i++){
- tab[i]=rand()%10;tab2[i]=tab[i];tab3[i]=tab[i];
- }
- }
- void sortujWyb(){
- int i=0,poz=0,max;
- byl2=1;
- przebieg2=0,ify2=0;
- for(i=0;i<10;i++){
- max=tab2[i];
- poz=i;
- for (int a=i;a<10;a++){
- przebieg2++;
- if (tab2[a]<max){
- ify2++;
- max=tab2[a];
- poz=a;
- swap(tab2[poz],tab2[i]);
- }
- }
- }
- }
- int przesun(int ile){
- for(int i=0;i<ile;i++){
- tabZ[i]=tabZ[i+1];
- }
- }
- int sortujWst(){
- int j,max,poz,il=0,byl,war;
- poz=0;max=tab3[poz];
- for(int i=0;i<10;i++){if(tab3[i]>max){poz=i;max=tab3[poz];}}
- swap(tab3[9],tab3[poz]);
- for(int i=0;i<10;i++){tabZ[i]=0;}
- tabZ[9]=tab3[9];
- for(int i=0;i<9;i++){
- war=tab3[i];
- il++;byl=0;
- for(j=9;j>9-il;j--){
- if(war>tabZ[j]){przesun(j);tabZ[j]=war;byl=1;break;}
- }
- if(byl==0) tabZ[9-il]=war;
- }
- for(int i=0;i<10;i++){tab3[i]=tabZ[i];}
- }
- int main(){
- int wybor;
- do{
- system("cls");
- cout<<"x=1 - wyswietl tablice\n";
- cout<<"x=2 - losuj\n";
- cout<<"x=3 - sortuj babelkowo\n";
- cout<<"x=4 - sortuj przez wybor\n";
- cout<<"x=5 - sortuj przez wstawianie\n";
- cout<<"x=6 - wyjscie\n";
- cout<<"Wybor: ";
- cin>>wybor;
- switch(wybor){
- case 1:{wys();break;}
- case 2:{los();break;}
- case 3:{sortujB();break;}
- case 4:{sortujWyb();break;}
- case 5:{sortujWst();break;}
- }}while(wybor!=6);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement