Título: Ayuda con bucle for Publicado por: GominaTilted en 22 Octubre 2018, 17:18 pm Buenas tengo el siguiente código:
Código: #include <cstdlib> #include <iostream> using namespace std; int main() { int j1; int i = 0; int n; int vic = 0; int der = 0; cin >> n; for (i = 0; i == n; i++) { j1 = 1 + rand() % (51 - 1); if (j1 > 0 && j1 < 25) { vic ++; } else { der++; } } cout << vic; cout << endl; cout << der; return 0; } Pretende generar un numero aleatorio 'n' veces, y dependiendo del rango en el que esté contenido se sumará a las variables 'vic' o 'der'. La cuestión es que siempre me devuelve 0 en ambas. ¿El valor de las variables no se guarda al salir del bucle? En ese caso, ¿cómo sería el programa que planteo? ¿O estoy haciendo algo mal y no me doy cuenta? Como podreis notar soy muy principante en esto. Muchas gracias. Título: Re: Ayuda con bucle for Publicado por: EdePC en 22 Octubre 2018, 17:32 pm Saludos,
- Revisa esta parte: for (i = 0; i == n; i++) - No deberías de utilziar i < n o algo así? Título: Re: Ayuda con bucle for Publicado por: GominaTilted en 22 Octubre 2018, 17:35 pm Saludos, Sí, efectivamente, pero no lo entiendo. Si 'i < n', para cualqiuer valor de 'i', ¿no debería de finalizar el bucle? Me tengo que repasar el concepto ese desde luego jajaja.- Revisa esta parte: for (i = 0; i == n; i++) - No deberías de utilziar i < n o algo así? Título: Re: Ayuda con bucle for Publicado por: Dresden en 22 Octubre 2018, 18:18 pm Mientras la condición i < n sea verdadera, las repeticiones seguirán ejecutándose. Cuando la condición no se cumpla (cuando i llegue a ser igual a n), las iteraciones de la sentencia for terminarán.
En la condición: Código
La primera parte (j1 > 0) no es necesaria, siempre será verdadera debido al rango en el que se generan los números aleatorios. Título: Re: Ayuda con bucle for Publicado por: GominaTilted en 22 Octubre 2018, 23:27 pm Ah vale muchas gracias, es que como estoy empezando no conocía el concepto en su totalidad. Cosas de noob :p
|