Losowe liczby w tablicy dwuwymiarowej

0

Witam,
mój problem polega na tym, że pytam użytkownika o parametr (z) i jeśli jest równy 0 to ma być wpisywane ręcznie, a jeśli nie to przedział liczb od -z do z.
Wszystko już pięknie mi działa oprócz tego randomowego wpisywania nwm jak to ugryźć.

if (z==0)
	{
		//pobieranie el. tablicy z konsoli
		cout << "\nPodaj elementy macierzy A\n";
		for (int i = 0; i < n; i++)
			for (int j = 0; j < m; j++)
			{
				cout << "A[" << i + 1 << ", " << j + 1 << "] = ";
				cin >> a[i][j];
			}
	}
	else
	{
		//pobieranie el. randomowo
		srand(time(NULL));
		for (int i = 0; i < n; i++)
			for (int j = 0; j < m; j++)
			{
				a[i][j] = (rand() % "2*z" ) - z;
			}
	}
0

Po co chcesz wpisywać największy wspólny mianownik? I czego?

Tutaj masz przykłady użycia <random> i uniform_int_distribution:
https://dsp.krzaq.cc/post/180/nie-uzywaj-rand-cxx-ma-random/

0
if (z==0)
	{
		//pobieranie el. tablicy z konsoli
		cout << "\nPodaj elementy macierzy A\n";
		for (int i = 0; i < n; i++)
			for (int j = 0; j < m; j++)
			{
				cout << "A[" << i + 1 << ", " << j + 1 << "] = ";
				cin >> a[i][j];
			}
	}
	else
	{
		//pobieranie el. randomowo
			std::random_device rd;  
			std::mt19937 gen(rd()); 
			std::uniform_int_distribution<> dis(-z, z);
			for (int i = 0; i < n; i++)
				for (int j = 0; j < m; j++)
					{
					a[i][j] = dis(gen);
					}
	}

Zrobiłem tak i jak widać działa, trochę zbyt zaawansowane jak na mój poziom, ale jak widać szybsza i lepsza metoda : )
Dzięki !

1 użytkowników online, w tym zalogowanych: 0, gości: 1