Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <omp.h>
- #include <time.h>
- #include <thread>
- #include <random>
- #include <string>
- using namespace std;
- void opoznienieMs(int timeMs)
- {
- time_t timeObject;
- timeObject = timeMs + clock();
- while (timeObject >= clock()) {};
- }
- void sortowanieBabelkowe(int tablica[], int rozmiar, int opoznienie = 1)
- {
- for (int i = 0; i < rozmiar - 1; i++)
- {
- for (int j = 0; j < rozmiar - i - 1; j++)
- {
- if (tablica[j] > tablica[j + 1])
- {
- int temp = tablica[j];
- tablica[j] = tablica[j + 1];
- tablica[j + 1] = temp;
- }
- opoznienieMs(opoznienie);
- }
- }
- }
- void drukujTablice(int tablica[], int rozmiar)
- {
- #pragma omp critical
- {
- printf("Tablica %d elementowa:\n[", rozmiar);
- for (int i = 0; i < rozmiar; i++)
- {
- printf("%d ", tablica[i]);
- }
- printf("]\n");
- }
- }
- int* generujTabliceInt(int rozmiar)
- {
- int* tablica = new int[rozmiar];
- srand(time(NULL));
- for (int i = 0; i < rozmiar; i++)
- {
- tablica[i] = rand() % 200 - 99;
- opoznienieMs(1);
- }
- return tablica;
- }
- int main(int argc, char** argv)
- {
- time_t czasWykonania = clock();
- const int rozmiarTablic = 100;
- int *arr1 = generujTabliceInt(rozmiarTablic),
- *arr2 = generujTabliceInt(rozmiarTablic),
- *arr3 = generujTabliceInt(rozmiarTablic),
- *arr4 = generujTabliceInt(rozmiarTablic);
- #pragma omp parallel sections
- {
- #pragma omp section
- {
- drukujTablice(arr1, rozmiarTablic);
- sortowanieBabelkowe(arr1, rozmiarTablic);
- drukujTablice(arr1, rozmiarTablic);
- }
- #pragma omp section
- {
- drukujTablice(arr2, rozmiarTablic);
- sortowanieBabelkowe(arr2, rozmiarTablic);
- drukujTablice(arr2, rozmiarTablic);
- }
- #pragma omp section
- {
- drukujTablice(arr3, rozmiarTablic);
- sortowanieBabelkowe(arr3, rozmiarTablic);
- drukujTablice(arr3, rozmiarTablic);
- }
- #pragma omp section
- {
- drukujTablice(arr4, rozmiarTablic);
- sortowanieBabelkowe(arr4, rozmiarTablic);
- drukujTablice(arr4, rozmiarTablic);
- }
- }
- czasWykonania = clock() - czasWykonania;
- cout << "Czas wykonania programu: " << czasWykonania << " ms" << endl;
- delete[] arr1, arr2, arr3, arr4;
- cout << "Koniec... wcisnij dowolny klawisz." << endl;
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement