Random implementado en una matriz estatica
Saludos desde Costa Rica. Actualmente me encuentro realizando una matriz que almacene numeros aleatorios utilizando el random, todo perfecto hasta aca lo unico es que me gustaria es crearla pero almacenando parejas de numero.
Ejm:
|
Hola jusar.
Si no entendí mal lo que buscas, creo que podrías hacer: Código:
void __fastcall TForm1::Button1Click(TObject *Sender) |
Compa de esa manera no si no mas bien realizando una matriz donde me quede algo asi:
Matriz= 0 1 2 2 0 1 Pero con la unica desventaja que ocupo usando random pero no logro hacer que me queden parejas de numeros no se si me explico... |
Hola jusar.
Código:
Matriz= 0 1 2 Saludos. |
Cita:
Trata de explicar lo más detalladamente posible todo el proceso de lo que quieres hacer, puede escribir cuanto te apetezca, no hay limitación alguna, ni cobramos por palabras :) |
Divide el proceso en dos etapas:
- Primero llenar la matriz con las parejas de números, es decir, aquí garantizas que cada número se almacena por duplicado. - Después mezclar los elementos, para esto puedes utilizar random para seleccionar dos posiciones de la matriz y las intercambias. Repites esta acción n veces dependiendo del número de elementos de la matriz. A veces con 50 o 100 ciclos es suficiente. Al final tendrás parejas de números distribuidas aleatoriamente en la matriz, algo similar al juego de memorama |
Exato tal como lo dice Hector yo que ocupo es realizar una matriz con numeros aleatorios para luego puedo utilizar image y cargar imagenes con los numeros almacenados en la matriz por ejemplo:
Matriz: 2 3 1 3 2 1 entonces con le random el cual me sirve para generar numeros aleatorios ocupo que me los genere lo cual ya se pero lo que ocupo es que el genere los numeros pero que me queden los numeros 2 veces repetidos. Todo poder realizar un juego de memoria y poder las cargar imagenes aleatorias y buscar su respectiva pareja. Pero en esta ocacion lo que cuopo es una condicion que haga que la matriz quede con numeros repetidos... espero haberme explicado... |
Ya tienes la respuesta, llena la matriz con los números por parejas. Digamos que llenas la matriz dentro de una sentencia FOR que tendrá n / 2 ciclos, donde n es el número de elementos de la matriz que siempre deberá ser par.
Tomando tu ejemplo la matriz quedaría de esta forma: 1 1 2 2 3 3 Ahora los mezclas en otro ciclo con x repeticiones. Aquí la idea es tomar dos elementos de la matriz de forma aleatoria digamos [1,1] y [2,2], los intercambias quedando así. 3 1 2 2 1 3 Si esto lo repites muchas veces todos los elementos quedarán en posiciones aleatorias (revueltos). Saludos |
Hasta el momento lo que tengo es esto codigo pero no logro eso siempre me puede generar o tres 1 o tres 0 o cuatros 1 o 0...
|
Hola Jusar.
Primero que nada felicito a Hector por su poder de interpretación ;) Entonces, más o menos sería: Código:
const MAXFIL = 2; |
La franja horaria es GMT +2. Ahora son las 06:55:53. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi