Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. #include <iostream>
  2. #include <time.h>
  3. #include <cstdlib>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. srand(time(NULL)); // deklaracja RAND (musi byc)
  9. bool check = false; // zmienna bool, zeby sprawdzic czy posortowalo
  10. int ilosc = 0; // dodaje sobie zmienn¹ na górze, bo lokalne w obrêbie pêtli siê wymazuj¹ po jej zakoñczeniu
  11. int n = rand()%50+1; // n-elementów
  12. int tab[n];
  13. for (int i=0; i<n; i++) // uzupe³nianie tablicy (0,99)
  14. {
  15. tab[i] = rand()%100;
  16. }
  17. cout << "Dane na wejsciu: ";
  18. for (int i=0; i<n; i++) // wypisywanie elementow poczatkowych
  19. {
  20. cout << tab[i] << " ";
  21. }
  22. cout << endl;
  23. for (int i=0; i<(n*n); i++) // du¿a pêtla, która operuje pojedynczym przejsciem po tablicy
  24. {
  25. for (int j=0; j<(n-1); j++)
  26. {
  27. if (tab[j]>tab[j+1]) // porównanie i zamiana
  28. {
  29. swap(tab[j],tab[j+1]);
  30. }
  31. }
  32. for (int w=0; w<(n-1); w++)
  33. {
  34. if (tab[w]>tab[w+1]) // rozbi³em sprawdzenie na drug¹ pêtle, nie umiem w jednej
  35. {
  36. check = false;
  37. break;
  38. }
  39. if (tab[w]<tab[w+1]) check = true;
  40. }
  41. ilosc++;
  42. cout << "Obieg nr " << ilosc << ": ";
  43. for (int z=0; z<n; z++) // wypisanie elementów po ka¿dym obiegu
  44. {
  45. cout << tab[z] << " ";
  46. }
  47. cout << endl;
  48. if (check==true) break; // je¿eli sprawdzono, ¿e wszystkie s¹ posortowane to pêtla koñczy dzia³anie
  49. }
  50. cout << endl << "Program wymagal " << ilosc << " obiegow petli";
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement