Advertisement
Guest User

Untitled

a guest
Mar 15th, 2014
966
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.91 KB | None | 0 0
  1. #define MAX 500
  2. #include <iostream>
  3. #include <cstdlib>
  4. #include <ctime> // biblioteka do srand
  5. #include <stdlib.h>
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11. srand(time(NULL));
  12. int tab[MAX];
  13. int x=0;
  14. int rep=0,temp=0, a=0;
  15. int min=0, i=0,j=0,k=0, h=0, licznik=0, licznik2=0;
  16. cout << "Tablica nieposortowana - losowa:" << endl;
  17.     for (int i=0;i<MAX;i++)
  18.     {
  19.      tab[i]=(rand()%(MAX)) +0;
  20.     }
  21.         for (int i=0;i<MAX;i++)
  22.         {
  23.             cout << tab[i] << "\t";
  24.             if((i+1)%5==0)
  25.             cout << endl;
  26.         }
  27.  
  28. //sortowanie babelkowe
  29. do
  30. {
  31. rep=0; // przed kazdym przejsciem petli for, zmienna rep (ang. replacement) jest zerowana
  32. for (int i=0; i<MAX; i++)
  33. {
  34.     if (tab[i] > tab[i+1]) // warunek jesli element tablicy jest wiekszy od nastepnego elementu
  35.     {
  36.          rep=rep+1; // jesli jest jakas zmiana to zmienna rep zwieksza sie
  37.          temp=tab[i]; // wartość tab[i] jest kopiowana do schowka (ang. temporary)
  38.          tab[i]=tab[i+1]; // tab[i] przyjmuje wartość tab[i+1], gdyż jest on mniejszy
  39.          tab[i+1]=temp; // tab[i+1] przyjmuje wartość wcześniejszego elementu, gdyż jest on wiekszy
  40.     }
  41. }
  42. }
  43. while (rep!=0); // jeżeli zmienna rep miałaby wartość 0, to znaczy, ze nie zaszly żadne zmiany, a wiec konczy sortowanie
  44. cout << endl;
  45.  
  46.  
  47. // sortowanie przez wybór
  48. /*
  49. for(k=0;k<MAX;k++) // zaczynamy szukanie od pierwszego elementu do ostatniego
  50. {
  51.     min = k; // pomocnicza zmienna przechowująca indeks znalezionego najmniejszego elementu
  52.     for(int j=k+1;j<MAX;j++) // zaczynamy szukanie najmniejszego element w tablicy
  53.     {
  54.         if(tab[j]<tab[min]) // jezeli znalezlismy mniejszy element, to będzie on przechowywany w zmiennej min
  55.         {
  56.             min=j; // przechowywany najmniejszy element
  57.         }
  58.     }
  59.     swap(tab[min],tab[k]); //funkcja swap zamienia miejscami, w miejsce tab[min] wstawia tab[k] i na odwrot (czyli porządkujemy elementy)
  60. }
  61. */
  62. cout << "Tablica posortowana" << endl;
  63. for (int i=0; i<MAX;i++)
  64. {
  65.               cout << tab[i] << "\t";
  66.               if((i+1)%5==0)
  67.               cout << endl;
  68. }
  69.  
  70. cout << "Tablica odwrocona" << endl;
  71. for (int i=MAX; i>=0;i--)
  72. {
  73.               cout << tab[i] << "\t";
  74.               if((i+1)%5==0)
  75.               cout << endl;
  76. }
  77. cout << endl;
  78. system("pause");
  79. return 0;
  80. }
  81.  
  82. /*
  83. //Przez wybieranie
  84. for(k=0;k<MAX;k++) // zaczynamy szukanie od pierwszego elementu do ostatniego
  85. {
  86.     min = k; // pomocnicza zmienna przechowująca indeks znalezionego najmniejszego elementu
  87.     for(int j=k+1;j<MAX;j++) // zaczynamy szukanie najmniejszego element w tablicy
  88.         if(tab[j]<tab[min]) // jezeli znalezlismy mniejszy element, to będzie on przechowywany w zmiennej min
  89.         {
  90.             min=j; // przechowywany najmniejszy element
  91.         }
  92.     swap(tab[min],tab[k]); //funkcja swap zamienia miejscami, w miejsce tab[min] wstawia tab[k] i na odwrot (czyli porządkujemy elementy)
  93. }
  94.  
  95. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement