Advertisement
asmodeus94

sorBabWybWsta

Feb 19th, 2013
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.19 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<ctime>
  4. #include<cstdlib>
  5. using namespace std;
  6. int tab[10],tab2[10],tab3[10],tabZ[10],byl=0,byl2=0,przebieg=0,ify=0,przebieg2=0,ify2=0;;
  7. void wys(){
  8.      for(int i=0;i<10;i++){
  9.         cout<<"["<<tab[i]<<"] ";
  10. }
  11. if(byl==1){cout<<"Przebiegi: "<<przebieg<<"; ify: "<<ify;}
  12. cout<<endl;
  13.      for(int i=0;i<10;i++){
  14.         cout<<"["<<tab2[i]<<"] ";
  15. }
  16. if(byl2==1){cout<<"Przebiegi: "<<przebieg2<<"; ify: "<<ify2;}
  17. cout<<endl;
  18.      for(int i=0;i<10;i++){
  19.         cout<<"["<<tab3[i]<<"] ";
  20. }
  21. getchar();getchar();
  22. }
  23. void sortujB(){
  24. int j;
  25. byl=1;
  26. przebieg=0,ify=0;
  27.      for(int i=9;i>0;i--){
  28.               for(j=0;j<i;j++){
  29.               przebieg++;
  30.                  if(tab[j]>tab[j+1]){ify++;swap(tab[j],tab[j+1]);}
  31.               }
  32.      }
  33. }
  34. void los(){
  35. byl=0;byl2=0;
  36. srand(time(NULL));
  37. for(int i=0;i<10;i++){
  38.         tab[i]=rand()%10;tab2[i]=tab[i];tab3[i]=tab[i];
  39. }
  40. }
  41. void sortujWyb(){
  42. int i=0,poz=0,max;
  43. byl2=1;
  44. przebieg2=0,ify2=0;
  45. for(i=0;i<10;i++){
  46. max=tab2[i];
  47. poz=i;
  48.     for (int a=i;a<10;a++){
  49.         przebieg2++;
  50.            if (tab2[a]<max){
  51.            ify2++;
  52.            max=tab2[a];
  53.            poz=a;
  54.            swap(tab2[poz],tab2[i]);
  55.            }
  56.     }
  57. }
  58. }
  59. int przesun(int ile){
  60. for(int i=0;i<ile;i++){
  61.      tabZ[i]=tabZ[i+1];
  62. }
  63. }
  64. int sortujWst(){
  65. int j,max,poz,il=0,byl,war;
  66. poz=0;max=tab3[poz];
  67. for(int i=0;i<10;i++){if(tab3[i]>max){poz=i;max=tab3[poz];}}
  68. swap(tab3[9],tab3[poz]);
  69. for(int i=0;i<10;i++){tabZ[i]=0;}
  70. tabZ[9]=tab3[9];
  71. for(int i=0;i<9;i++){
  72. war=tab3[i];
  73. il++;byl=0;
  74.     for(j=9;j>9-il;j--){
  75.        if(war>tabZ[j]){przesun(j);tabZ[j]=war;byl=1;break;}
  76.        }
  77.     if(byl==0) tabZ[9-il]=war;
  78.     }
  79. for(int i=0;i<10;i++){tab3[i]=tabZ[i];}
  80. }
  81. int main(){
  82. int wybor;          
  83. do{
  84. system("cls");
  85. cout<<"x=1 - wyswietl tablice\n";
  86. cout<<"x=2 - losuj\n";
  87. cout<<"x=3 - sortuj babelkowo\n";
  88. cout<<"x=4 - sortuj przez wybor\n";
  89. cout<<"x=5 - sortuj przez wstawianie\n";
  90. cout<<"x=6 - wyjscie\n";
  91. cout<<"Wybor: ";
  92. cin>>wybor;
  93. switch(wybor){
  94. case 1:{wys();break;}
  95. case 2:{los();break;}
  96. case 3:{sortujB();break;}
  97. case 4:{sortujWyb();break;}
  98. case 5:{sortujWst();break;}
  99. }}while(wybor!=6);            
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement