Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Labor 9.cpp
- #include <cstdlib>
- #include <time.h>
- #include <iostream>
- #include <fstream>
- using namespace std;
- int* feladat1( int n);
- void feladat2(int &a, int &b, int &c);
- int szetvalogat(int*// Lab a, int n);
- void QuickSort(int* a, int n);
- void feladat3();
- int main()
- {
- int f;
- cout << "Olvassa be a feladat szamata: " << endl;
- cin >> f;
- if (f == 1) {
- int n;
- cout << "Olvassa be hany elemu tombot szeretne: " << endl;
- cin >> n;
- feladat1(n);
- }
- if (f == 2) {
- int a, b, c;
- cout << "Olvassa be a szamokat: " << endl;
- cin >> a >> b >> c;
- cout << a << " " << b << " " << c << endl;
- int i;
- for (i = 1; i < 6; ++i) {
- if (i == 2) {
- swap(a, b);
- }
- if (i == 4) {
- swap(a, c);
- }
- feladat2(a, b, c);
- cout << a << " " << b << " " << c << endl;
- }
- }
- if (f == 3) {
- feladat3();
- }
- }
- int* feladat1( int n) {
- int* a;
- a =(int *)malloc(n*sizeof(int));
- srand(NULL);
- for (int i = 0; i < n; ++i)
- a[i] = rand() % 101 - 50;
- return a;
- }
- void feladat2(int& a, int& b, int& c) {
- swap(b, c);
- }
- int szetvalogat(int* a, int n) {
- int i = 0, j = n - 1, v, x = a[0];
- while (i < j) {
- if (a[i] > a[j]) { v = a[i]; a[i] = a[j]; a[j] = v; }
- else if (a[i] == x) { --j; }
- else { ++i; }
- }
- return i;
- }
- void QuickSort(int* a, int n) {
- if (n > 1) {
- int k = szetvalogat(a, n);
- QuickSort(a, k);
- QuickSort(a + k + 1, n - k - 1);
- }
- }
- void feladat3() {
- ifstream f; f.open("bemenet.txt");
- ofstream g; g.open("kimenet.txt");
- int* a;
- int n;
- f >> n;
- a = (int*)malloc(n * sizeof(int));
- for (int i = 0; i < n; ++i)
- f>>a[i];
- QuickSort(a, n);
- for (int i = n-1; i>=0; --i)
- g<< a[i] << " ";
- g.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement