#include <iostream>
using namespace std;
class Cuenta {
public:
Cuenta() { for(int i = 0; i < 4; contador[i++] = 0); }
int &operator[](double n); // (1)
void Mostrar() const;
private:
int contador[4];
};
int &Cuenta::operator[](double n) { // (2)
if(n < 0.001) return contador[0];
else if(n < 0.01) return contador[1];
else if(n < 0.1) return contador[2];
else return contador[3];
}
void Cuenta::Mostrar() const {
cout << "Entre 0 y 0.0009: " << contador[0] << endl;
cout << "Entre 0.0010 y 0.0099: " << contador[1] << endl;
cout << "Entre 0.0100 y 0.0999: " << contador[2] << endl;
cout << "Entre 0.1000 y 1.0000: " << contador[3] << endl;
}
int main() {
Cuenta C;
for(int i = 0; i < 50000; i++)
C[(double)rand()/RAND_MAX]++; // (3)
C.Mostrar();
cin.get();
return 0;
}