// w systemie wprowadzamy trzy nowe zmienne z następującymi wartościami
// OMP_NUM_THREADS : 2
// OMP_DYNAMIC : TRUE
// OMP_NESTED : FALSE

#include <iostream>
#include <locale.h> // pozwoli drukować polskie znaki na konsoli
#include <omp.h> // Plik nagłókowy niezbędny do uruchamiania programów z OpenMP 
#include "stdafx.h"

int main( int argc, char* argv[])
{
	setlocale( LC_ALL, "Polish" ); // Polska lokalizacja, w szczególności znaki
	std::cout << " ------------------ ex1 ------------------------\n";
  	omp_set_dynamic(0);
	omp_set_nested(1);
	omp_set_num_threads(3);
	#pragma omp parallel num_threads(4)
	{
		int tid = omp_get_thread_num();
		int nth = omp_get_num_threads();
		std::cout<< "Tę linię napisał wątek nr " << tid <<" z grupy " << nth << " wątków. " << std::endl; 
		#pragma omp parallel num_threads(3)
		{
			int tid2 = omp_get_thread_num();
			std::cout<< "Tę linię napisał wątek nr " << tid2 <<" dla którego wątkiem macierzystym jest wątek " << tid << std::endl; 
			std::cout << "#####: "<<tid<<":"<<tid2<<std::endl;
		}
	}
	std::cout << " ---------------- Koniec -----------------------\n";
  	return 0;
}
