Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // liczenie czasu dla podanego algorytmu.
- #include <iostream>
- #include <fstream>
- using namespace std;
- void sort(int tablica[], int size )
- {
- for( int i = 0; i < size; i++ )
- {
- for( int j = 0; j < size - 1; j++ )
- {
- if( tablica[ j ] > tablica[ j + 1 ] )
- swap( tablica[ j ], tablica[ j + 1 ] );
- }
- }
- }
- int main()
- {
- int rozmiar;
- cout << "Wprowadz rozmiar tablicy." << endl;
- cin >> rozmiar;
- int *tab = new int[rozmiar];
- ifstream plik("/Users/pawel_rudnicki/Desktop/Dev/algo6/cmake-build-debug/zbior10.txt");
- for(int i=0; i<rozmiar; i++)
- {
- plik >> tab[i];
- }
- clock_t start = clock();
- sort(tab,rozmiar);
- clock_t end = clock();
- cout << "Czas wykonywania algorytmu bubble sort wynosi: " << (end-start) << endl;
- return 0;
- }
- //Losowanie zmiennych do pliku wraz z podaniem opcji tzn. optymistyczny, losowy, bΔ dΕΊ pesymistyczny.
- #include <iostream>
- #include <fstream>
- #include <ctime>
- using namespace std;
- int main()
- {
- srand(time(NULL));
- int rozmiar;
- string odpowiedz;
- ofstream plik1("zbior1.txt"),plik2("zbior2.txt"),plik3("zbior3.txt"),
- plik4("zbior4.txt"),plik5("zbior5.txt"),plik6("zbior6.txt"),plik7("zbior7.txt"),
- plik8("zbior8.txt"),plik9("zbior8.txt"),plik10("zbior10.txt");
- cout << "Ile liczb chcesz wprowadzic do pliku...?" << endl;
- cin >> rozmiar;
- int *tab = new int[rozmiar];
- cout << "Jaki charakter zbioru chcesz wygenerowac?" << endl;
- cin >> odpowiedz;
- if(odpowiedz == "los")
- {
- for (int i = 0; i < rozmiar; i++)
- {
- tab[i] = rand() % 101;
- }
- }
- if(odpowiedz == "opt")
- {
- for(int i=0; i< rozmiar; i++)
- {
- if(i%2 == 0)
- {
- tab[i] = i;
- }
- else
- {
- tab[i] = rand() % 101;
- }
- }
- }
- if(odpowiedz == "pes")
- {
- for(int i = 0; i < rozmiar; i++)
- {
- tab[i] = 1000-i;
- }
- }
- cout << "Zapisuje do pliku..." << endl;
- if(rozmiar == 10)
- {
- for(int i = 0; i<rozmiar; i++) {
- plik1 << tab[i] << " ";
- }
- plik1.close();
- }
- else if(rozmiar == 20)
- {
- for(int i = 0; i<rozmiar; i++) {
- plik2 << tab[i] << " ";
- }
- plik2.close();
- }
- else if(rozmiar == 30)
- {
- for(int i = 0; i<rozmiar; i++) {
- plik3 << tab[i] << " ";
- }
- plik3.close();
- }
- else if(rozmiar == 50)
- {
- for(int i = 0; i<rozmiar; i++) {
- plik4 << tab[i] << " ";
- }
- plik4.close();
- }
- else if(rozmiar == 75)
- {
- for(int i = 0; i<rozmiar; i++) {
- plik5 << tab[i] << " ";
- }
- plik5.close();
- }
- else if(rozmiar == 100)
- {
- for(int i = 0; i<rozmiar; i++) {
- plik6 << tab[i] << " ";
- }
- plik6.close();
- }
- else if(rozmiar == 200)
- {
- for(int i = 0; i<rozmiar; i++) {
- plik7 << tab[i] << " ";
- }
- plik7.close();
- }
- else if(rozmiar == 300)
- {
- for(int i = 0; i<rozmiar; i++) {
- plik8 << tab[i] << " ";
- }
- plik8.close();
- }
- else if(rozmiar == 400)
- {
- for(int i = 0; i<rozmiar; i++) {
- plik9 << tab[i] << " ";
- }
- plik9.close();
- }
- else if(rozmiar == 500)
- {
- for(int i = 0; i<rozmiar; i++) {
- plik10 << tab[i] << " ";
- }
- plik10.close();
- }
- return 0;
- }
- //Algorytm Hooraaa tj. Lab 09
- #include <stdio.h>
- #include <iostream>
- using namespace std;
- int n,i,j,k,w;
- int c[100];
- int partition(int c[100], int a, int b)
- {
- int e,indeks;
- e=c[a]; //elemennt dzielacy
- while (a<b)
- {
- while ((a<b) && (c[b]>=e)) b--;
- while ((a<b) && (c[a]<e)) a++;
- if (a<b)
- {
- indeks=c[a];
- c[a]=c[b];
- c[b]=indeks;
- }
- }
- return a;
- }
- int main()
- {
- cout << "Podaj liczbe elementow ciagu " << endl;
- cin >> n;
- for (i=0; i<n; i++)
- {
- cout << "Podaj " << i+1 << " element ciagu" << endl;
- cin >> c[i];
- }
- cout << "Ktory element obliczyc?" << endl;
- cin >> w;
- //algorytm Hoare'a
- i=0;
- j=n-1;
- n=w;
- while (i!=j)
- {
- k=partition(c,i,j);
- k=k-i+1;
- if (k>=w) j=i+k-1;
- if (k<w)
- {
- w-=k;
- i+=k;
- }
- }
- cout << n << " element ciagu to " << c[i] << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement