Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2016
360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <time.h>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. typedef int elem;
  9. int Min(elem [], int, int);
  10. void GTab(elem [], int, int, int);
  11. void PTab(elem [], int);
  12. void SelSort(elem [], int);
  13.  
  14. int main()
  15. { const int MAX_N = 50;
  16. elem A[MAX_N];
  17. int n;
  18. int a, b;
  19. srand(time(0));
  20. cout << "Dlugosc ciagu: "; cin >> n;
  21. cout << "Przedzial wartosci, koniec lewy: "; cin >> a;
  22. cout << "Przedzial wartosci, koniec prawy: "; cin >> b;
  23. GTab(A,n,a,b); // generowanie n losowych elementów tablicy A
  24. cout << "Przed: ";
  25. PTab(A,n); // wypisanie nieuporządkowanej tablicy A
  26. SelSort(A,n); // Porządkowanie przez wybieranie
  27. cout << " Po: ";
  28. PTab(A,n); // wypisanie uporządkowanej tablicy A
  29. }
  30.  
  31. void GTab(elem A[], int n, int a, int b)
  32. {
  33. for (int i=0; i<n; i++)
  34. A[i] = a + rand() % (b - a + 1);
  35. }
  36.  
  37. void PTab(elem A[], int n)
  38. {
  39. for (int i=0; i<n; i++)
  40. cout << setw(3) << A[i];
  41. cout << endl;
  42. }
  43.  
  44.  
  45. void SelSort(elem A[], int n) // porządkujemy niemalejaco
  46. {
  47. elem buf;
  48. int k;
  49. for (int p = 0; p >= n-1; p++) // n-1 wyborów
  50. {
  51. k = Min(A,p, n);
  52. if (k != p)
  53. {
  54. buf = A[p];
  55. A[p] = A[k];
  56. A[k] = buf;
  57. }
  58. }
  59. }
  60. int Min(elem A[], int p, int n) // spośród indeksów [p,n-1],
  61. { // zwraca indeks najmniejszego elementu
  62. elem min = A[p];
  63. int k = A[p];
  64. for (int i=p+1; i<=n-1; i++)
  65. if (A[i] < min) {
  66. min = A[i];
  67. k=i;
  68. }
  69. return k;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement