elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ayuda para realizar programa en c#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda para realizar programa en c#  (Leído 3,374 veces)
Adrian96

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Ayuda para realizar programa en c#
« en: 28 Diciembre 2016, 14:15 pm »

La pregunta seria como se puede consegir que me muestre letras aleatorias de esta manera en parejas de dos
B H G H
D E A E
D G C F
C F B A



Código:
Random Letras = new Random();
            char[,] Matriz = new char[4, 4];
 
            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < 4; j++)
                    Matriz[i, j] = (char)Letras.Next(65, 72);
            }
            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < 4; j++)
                    Console.Write(Matriz[i, j] + "\t");
                Console.WriteLine();
            }
            Console.ReadKey();

Gracias de antemano :)


CoAdm: C# no es C, es .NET, movido


« Última modificación: 28 Diciembre 2016, 19:02 pm por engel lex » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda para realizar programa en c#
« Respuesta #1 en: 28 Diciembre 2016, 16:11 pm »

¿Que en vez de 4x4 te muestre una matriz de 2x8?

Código
  1. for (int i = 0; i < 4; i++)
  2. {
  3.    for (int j = 0; j < 4; j++)
  4.    {
  5.        Console.Write(Matriz[i, j] + "\t");
  6.        if(j == 1)
  7.            Console.WriteLine();
  8.    }
  9.    Console.WriteLine();
  10. }

Para posts futuros, ten en cuenta que este sub-foro es de C y C++, no C#. C# sería el sub-foro de .NET: http://foro.elhacker.net/net-b62.0/


En línea

Adrian96

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ayuda para realizar programa en c#
« Respuesta #2 en: 28 Diciembre 2016, 18:59 pm »

¿Que en vez de 4x4 te muestre una matriz de 2x8?

Código
  1. for (int i = 0; i < 4; i++)
  2. {
  3.    for (int j = 0; j < 4; j++)
  4.    {
  5.        Console.Write(Matriz[i, j] + "\t");
  6.        if(j == 1)
  7.            Console.WriteLine();
  8.    }
  9.    Console.WriteLine();
  10. }

Para posts futuros, ten en cuenta que este sub-foro es de C y C++, no C#. C# sería el sub-foro de .NET: http://foro.elhacker.net/net-b62.0/

Muchas gracias por tu respuesta ivancea96, pero no era eso exactamente lo que pretendia que se entendiera con parejas me referia a que solo haya dos letras de cada y estas esten en una matriz 4x4 como se muestra arriba.
En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.878



Ver Perfil
Re: Ayuda para realizar programa en c#
« Respuesta #3 en: 28 Diciembre 2016, 20:41 pm »

no era eso exactamente lo que pretendia que se entendiera con parejas

Muestra un ejemplo del resultado que esperas obtener.

Saludos!
En línea



Adrian96

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ayuda para realizar programa en c#
« Respuesta #4 en: 28 Diciembre 2016, 21:02 pm »

Muestra un ejemplo del resultado que esperas obtener.

Saludos!

El resultado que pretendo obtener seria este:

Matriz 2x2:

A B
B A


Seria ese generar letras aleatoriamente y que estas fueran siempre 2 de la misma letra y su posicion fuera aleatoria en la matriz.


Saludos!
En línea

okik


Desconectado Desconectado

Mensajes: 462


Ver Perfil
Re: Ayuda para realizar programa en c#
« Respuesta #5 en: 29 Diciembre 2016, 19:53 pm »

No entiendo muy bien lo que buscas a pesar de los comentarios anteriores. Pero me da la impresión que lo que quieres es obtener combinaciones sin repetición.
Si tienes A, B, C
Sería
Código:
AB
AC
BC


Si  tienes
A, B, C, D, E
(y en grupos de 3 en 3)
Sería :
Código:
A B C 
A B D
A B E
A C D
A C E
A D E
B C D
B C E
B D E
C D E

En cuyo caso esto obtendría las combinaciones sin repetición:
Código
  1.           List<string> Matriz = new List<string>();
  2. List<string> Elementos = new List<string>();
  3.  
  4.        Elementos.AddRange(new List<string>() { "A", "B", "C", "D", "E" });
  5.            IEnumerable<string> pairsCol = Enumerable.Empty<string>();
  6.            pairsCol = from string value1 in Elementos
  7.                       from string value2 in Elementos
  8.                       select string.Join(Environment.NewLine, (from value3 in Elementos
  9.                                                 where
  10.                                                 (value1 != value2) &&
  11.                                                 (value1 != value3) &&
  12.                                                 (value2 != value3) &&
  13.                                                  (Convert.ToChar(value2) > Convert.ToChar(value1)) &&
  14.                                                    (Convert.ToChar(value3) > Convert.ToChar(value2))
  15.            select  string.Format("{0} {1} {2} ", value1, value2, value3)));
  16.  
  17.  
  18. List<string> ClearRep = new List<string>();
  19. Matriz.Clear();
  20.  
  21. foreach (string pairs in pairsCol) {
  22. foreach (string line in pairs.Split(new string[]{ Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries))
  23.            {
  24. Matriz.Add(line);
  25. }
  26.  
  27. }
  28.  
  29. Console.WriteLine("Número de combinaciones: {0}", Matriz.Count);
  30. Console.WriteLine(string.Join(Environment.NewLine, Matriz));
  31. Console.ReadLine();
  32.  


Como información extra, para calcular el número de combinaciones sin repetición se hace de la siguiente forma:

Cm,n =  m!/(n! * (m-n)!)

donde m! es el factorial de m
n! es el factorial de n
(m-n)! es el factorial de (m-n)

Por ejemplo:
Elementos = A, B, C, D, E (que son 5)
Grupos= de 3 en 3

C5,3 =  5!/(3! * (5-3)!)= 10

Espero te sirva




Chau

« Última modificación: 30 Diciembre 2016, 12:30 pm por okik » En línea

Adrian96

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ayuda para realizar programa en c#
« Respuesta #6 en: 29 Diciembre 2016, 21:15 pm »

Gracias okik, me ha sido de gran ayuda   :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines