Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. //Labor 9.cpp
  2.  
  3. #include <cstdlib>
  4. #include <time.h>
  5. #include <iostream>
  6. #include <fstream>
  7. using namespace std;
  8. int* feladat1( int n);
  9. void feladat2(int &a, int &b, int &c);
  10. int szetvalogat(int*// Lab a, int n);
  11. void QuickSort(int* a, int n);
  12. void feladat3();
  13. int main()
  14. {
  15. int f;
  16. cout << "Olvassa be a feladat szamata: " << endl;
  17. cin >> f;
  18. if (f == 1) {
  19. int n;
  20. cout << "Olvassa be hany elemu tombot szeretne: " << endl;
  21. cin >> n;
  22. feladat1(n);
  23. }
  24. if (f == 2) {
  25. int a, b, c;
  26. cout << "Olvassa be a szamokat: " << endl;
  27. cin >> a >> b >> c;
  28. cout << a << " " << b << " " << c << endl;
  29. int i;
  30. for (i = 1; i < 6; ++i) {
  31. if (i == 2) {
  32. swap(a, b);
  33. }
  34. if (i == 4) {
  35. swap(a, c);
  36. }
  37. feladat2(a, b, c);
  38. cout << a << " " << b << " " << c << endl;
  39. }
  40. }
  41. if (f == 3) {
  42. feladat3();
  43. }
  44. }
  45. int* feladat1( int n) {
  46. int* a;
  47. a =(int *)malloc(n*sizeof(int));
  48. srand(NULL);
  49. for (int i = 0; i < n; ++i)
  50. a[i] = rand() % 101 - 50;
  51. return a;
  52.  
  53. }
  54.  
  55.  
  56. void feladat2(int& a, int& b, int& c) {
  57. swap(b, c);
  58. }
  59.  
  60.  
  61. int szetvalogat(int* a, int n) {
  62. int i = 0, j = n - 1, v, x = a[0];
  63. while (i < j) {
  64. if (a[i] > a[j]) { v = a[i]; a[i] = a[j]; a[j] = v; }
  65. else if (a[i] == x) { --j; }
  66. else { ++i; }
  67. }
  68. return i;
  69.  
  70. }
  71. void QuickSort(int* a, int n) {
  72. if (n > 1) {
  73. int k = szetvalogat(a, n);
  74. QuickSort(a, k);
  75. QuickSort(a + k + 1, n - k - 1);
  76. }
  77.  
  78. }
  79.  
  80.  
  81.  
  82. void feladat3() {
  83. ifstream f; f.open("bemenet.txt");
  84. ofstream g; g.open("kimenet.txt");
  85. int* a;
  86. int n;
  87. f >> n;
  88. a = (int*)malloc(n * sizeof(int));
  89. for (int i = 0; i < n; ++i)
  90. f>>a[i];
  91. QuickSort(a, n);
  92. for (int i = n-1; i>=0; --i)
  93. g<< a[i] << " ";
  94. g.close();
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement