Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Cómo generar posiciones aleatorias en un arreglo de dos dimensiones

Estas en el tema de Cómo generar posiciones aleatorias en un arreglo de dos dimensiones en el foro de C/C++ en Foros del Web. Buenas gente, soy nuevo aquí en el foro, les escribó para saber si me pueden dar una mano en cómo generar posiciones aleatorias en un ...
  #1 (permalink)  
Antiguo 04/02/2015, 21:52
Avatar de UmbraNoche  
Fecha de Ingreso: febrero-2015
Ubicación: San José
Mensajes: 5
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta Cómo generar posiciones aleatorias en un arreglo de dos dimensiones

Buenas gente, soy nuevo aquí en el foro, les escribó para saber si me pueden dar una mano en cómo generar posiciones aleatorias en un arreglo de 10x10. He estado trasteando el código pero de verdad no encuentro la solución.

El asunto es inicializar un arreglo de 10x10 con los caracteres "AAAA", "CCCC", "FFFF", "NNNNN" y hacer que aparezcan en posciones aleatorias tanto vertical cómo horizontal.

Aquí les dejo el código de lo que he hecho de antemano muchas gracias por su ayuda.

Código C++:
Ver original
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4. #include <string>
  5. #include <algorithm>
  6.  
  7. using namespace std;
  8.  
  9. int main(){
  10.  
  11.     srand(time(NULL));
  12.  
  13.     int posiciones[100];
  14.  
  15.     string letras [10][10] = {{"AAAA"}, {"CCC"}, {"FFFF"}, {"NNNNN"}};
  16.  
  17.     random_shuffle(posiciones, posiciones + 100);
  18.  
  19.     for(int fila = 0; fila < 10; fila++){
  20.         for(int columna = 0; columna < 10; columna++)
  21.             letras [fila][columna] = posiciones[100];
  22.  
  23.     }
  24.  
  25.     for(int f = 0; f < 10; f++){
  26.         for(int c = 0; c < 10; c++)
  27.             cout << letras[f][c];
  28.  
  29.         cout << endl;
  30.     }
  31.  
  32.     return 0;
  33.  
  34. }
  #2 (permalink)  
Antiguo 04/02/2015, 22:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Cómo generar posiciones aleatorias en un arreglo de dos dimensiones

Ejemplo de como hacer lo que pides:

Ejemplo 1:
1. Genera un numero aleatorio entre 0 y 9.
2. Genera otro numero aleatorio entre 0 y 9.

Ahí tienes tu posición aleatoria.

Ejemplo 2:
1. Itera sobre cada celda de la matriz
2. Por cada celda obtén un numero aleatorio entre 0 y 3 donde (0 es 'A', 1 es 'C', etc...)
3. Pon ese valor en la celda.

Ejemplo 3:
1. Llena la matriz con 'A', 'C', etc.. puedes hardcodearlo.
2. Haz un shuffle.
3. No olvides poner '\0' al final de la cadena.

Ejemplo 4:
1. Imprime siempre la misma matriz, tu maestro probablemente nunca se de cuenta.
Código C:
Ver original
  1. char matriz[10][11] = {{"AANNFCNANA"},
  2. {"FCFNAFFCNA"},
  3. {"NCCCNNCANA"},
  4. {"FFAANANNFF"},
  5. {"NNAFNAAACC"},
  6. {"FACCAAFFNF"},
  7. {"NFNCCAANNF"},
  8. {"NFNFNCAFCC"},
  9. {"CAANCACNFC"},
  10. {"CFCANFCCNC"}};

Etiquetas: arreglo, dimensiones, int, posiciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:02.