Wątek przeniesiony 2017-07-03 08:16 z C/C++ przez ŁF.

Losowanie liczb całkowitych z dokładnością do dwóch miejsc po przecinku

0

Jak w temacie. Rozumiem, że muszę zrobić rzutownia typu int na double i ustawić precyzję wyświetlania na 2? Dobrze myślę?
bo jeśli tak to moje rozwiązanie nie działa :(

        // double nowa_liczba = double(liczba);
        // cout << setprecision(2) << nowa liczba << endl

Na razie mój kod prezentuje się tak:

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{

	int x, y, z, liczba, i;
	cout << "Podaj przedzial X = ";
	cin >> x;
	
	cout << "Podaj przedzial Y = ";
	cin >> y;
	
	z = y - x;
	
	srand(time(NULL)); 
    cout << "Losowanie 30 liczb calkowitych z przedziału" << endl;
    for(i=0; i<30; i++){
    
    	liczba = ((rand() % z ) + x ); // 5 to ilosc liczb w przedziale, 1 to liczba poczatkowa
        // tu bym zrobil rzutowanie
        // double nowa_liczba = double(liczba);
        // cout << setprecision(2) << nowa liczba << endl 

    	cout << liczba << ", ";
	}
    return 0;
}
1

"Liczb całkowitych" i "z dokładnością do dwóch miejsc po przecinku"? To zdecyduj się, całkowitych, czy z przecinkiem, bo coś tutaj umyka.

Dodatkowo jak używasz C++ to użyj random z biblioteki standardowej, bo obecnie źle ograniczasz zakres losowanych liczb.

0
hauleth napisał(a):

"Liczb całkowitych" i "z dokładnością do dwóch miejsc po przecinku"? To zdecyduj się, całkowitych, czy z przecinkiem, bo coś tutaj umyka.

Dodatkowo jak używasz C++ to użyj random z biblioteki standardowej, bo obecnie źle ograniczasz zakres losowanych liczb.

chodzi o całkowite.. tyle tylko, że jak mamy 2 to musi wyświetlić 2,00

1

cout << liczba << ",00" << endl;

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