Hola a todos, lo primero de todos es avisar de antemano que llevo aprendiendo C++ sólo un mes, y aún estoy bastante pez, tengo cantidad de dudas jeje.
El caso es que quiero hacer un programa que genere, por ejemplo, 1000 numeros aleatorios del 1 al 10, y luego me diga qué porcentaje ha salido de cada uno. También quiero que tanto ese 1000 como ese 10 se puedan variar.
He conseguido llegar a un programa que funciona bastante bien, para un número menor de 15 iteraciones. En cuanto le pongo 16, el programa "casca". Entendería que funcionase bien o mal, pero no que funcione bien hasta 15 y que luego no funcione.
¿Alguien me ayuda? Gracias
Éste es el código hasta el que conseguí llegar:
#include <iostream>
#include <stdlib.h>
using namespace std;
float porcentaje(float a[], int b, int c){
int i,d=0;
for(i=0;i<b;i++){
d=d+a[i];
}
d=a[c]/d*100;
return d;
}
int main(){
srand(time(NULL));
int a, b, c, i;
cout << "Numero de variables a probar: " << endl;
cin >> a;
cout << "Numero de iteraciones a realizar: " << endl;
cin >> b;
float resultados[a];
float k;
for(i=0;i<b;i++){
resultados[i]=0;
}
for(i=0;i<b;i++){
c=rand()%(a);
resultados[c]++;
}
for(i=0;i<a;i++){
cout << "Variable " << i+1 << ": " << resultados[i] << " Porcentaje: " << porcentaje(resultados,b,i) << "%" << endl;
}
cin.get();cin.get();
return 0;
}