Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: GROV en 16 Julio 2012, 21:00 pm



Título: [Solucionado]Problema con rand() y arreglos.
Publicado por: GROV en 16 Julio 2012, 21:00 pm
Que tal, veran este programa en teoria genera un número al azar para cada elemento de un arreglo multidimensional, si me compila pero al momento de la ejecución me aparece que el programa dejo de funcionar, y no logro encontrar el error. Aquí les dejo el código:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. int random[10][10][10];
  7. int a, b, c;
  8.  
  9. for (a = 0; a <= 9; a++){
  10. for (b = 0; b <= 9; b++){
  11. for (c = 0; b <= 9; c++){
  12. random[a][b][c] = rand();
  13. }
  14. }
  15. }
  16.  
  17. for (a = 0; a <= 4; a++){
  18. for (b = 0; b <= 4; b++){
  19. for (c = 0; b <= 4; c++)
  20. printf("\nRandom[%d][%d][%d] = %d\n", a, b, c, random[a][b][c]);
  21. }
  22. }


Lo compilo en Windows 7, y lo probé con CodeBlocks, Zinjai y Dev-C++


Título: Re: Problema con rand() y arreglos.
Publicado por: DickGumshoe en 16 Julio 2012, 21:20 pm
Es porque creas un bucle infinito. Fíjate en la condición del tercer bucle for. Es mientras c sea menor o igual que 9, no b.

Por cierto, para obtener el número aleatorio también debes usar srand(time(NULL));, incluido en time.h, para que los números se generen a partir de la hora (sino no van a ser aleatorios).

Saludos!


Título: Re: Problema con rand() y arreglos.
Publicado por: GROV en 16 Julio 2012, 21:32 pm
 :o  :o  :o  :o No puede ser, algo tan simple y no lo vi  :o  :o  :o  :o

Creeme que me paso desapercibido ese pequeño error, no lo vi, jajajaja creo que necesito unos lentes nuevos.

Muchas Gracias por la ayuda, y voy a probar lo de srand(), de nuevo gracias!!.

Saludos Afectuosos!!