Cita:
Iniciado por alpranzetti
Muchisimas gracias!!! La verdad tu explicacion fue inmejorable y me funcionó todo perfecto. Te nolesto con otra cosita?por ahi es Una bobada lo que te voy a consultar pero hace muy poco que programo y no estoy nada canchera en el tema de matricez y arrays.
Como harias para sumar las ocurrencias de las combinaciones que empiezan con una determinada letra y meterlas en un vector para su posterior uso.es decir: vector sumas = primer elemento: 3 [ab=1+ac=2]
Segundo elemento: 1 [ba=1]
Y asi con cada letra q aparezca primero en la combinacion.
Mil gracias de nuevo,disculpa la molestia y saludos yo tambien soy de argentina,de rosario!!
Hola
alpranzetti, cuanto me alegra que te haya funcionado!!!

Te aclaro que no es ninguna molestia

sino todo lo contrario, es un placer poder ayudar

siempre y cuando esté dentro de nuestras posibilidades.
Con respecto a la suma que mencionás usando un vector

, podemos usar el mismo código anterior, agregándoles las líneas para la funcionalidad de dicho vector:
Código C#:
Ver originalprivate void Form1_Load(object sender, EventArgs e)
{
string s = "hola lola";
// Declaramos la lista de caracteres
List<char> Lista = new List<char>();
/* Recorremos la cadena en busca de todos los caracteres distintos
y los agregamos a la lista, a medida que los vayamos encontrando */
foreach (char ch in s)
{
if (Lista.Contains(ch)) continue;
Lista.Add(ch);
}
/* Ahora ya sabemos cuáles deben ser los límites de la matriz,
por lo tanto procedemos a declararla */
int d = Lista.Count;
int[,] matriz = new int[d, d];
// Hacemos lo mismo para el vector
int[] vector = new int[d];
// Ahora que ya tenemos la matriz, podemos buscar los pares de letras
for (int i = 0; i < (s.Length - 1); i++)
{
/* Buscamos en la Lista cada carecter del par de caracteres;
la posición dentro de la Lista corresponde tanto a la fila como a la columna */
int p1 = Lista.IndexOf(s[i]);
int p2 = Lista.IndexOf(s[i + 1]);
matriz[p1, p2]++;
// Hacemos lo mismo con el vector
vector[p1]++;
}
// Mostramos el resultado
this.textBox1.Text = s + "\r\n";
for (int fila = 0; fila < d; fila++)
{
// Mostramos el resultado del vector
this.textBox2.Text += string.Concat(Lista[fila], "\t = ", vector[fila].ToString(), "\r\n");
// Mostramos el resultado de la matriz
for (int columna = 0; columna < d; columna++)
{
int m = matriz[fila, columna];
if (m != 0)
this.textBox1.Text += string.Concat(Lista[fila], Lista[columna], "\t = ", m.ToString(), "\r\n");
}
}
}
Como podés ver, las líneas que agregué son la 22, la 34 y la 42. Ten en cuenta que también tuve que agregar un nuevo TextBox,

en este caso llamado TextBox2, para mostrar el resultado del vector.
Aprovecho este mensaje también para agradecerle a
Malenko, muchas gracias! por la info aportada, en breve estaremos estudiando esta Clase de .Net llamada Dictionary, para ver cómo implementarla en esta solución.
Bueno
alpranzetti, espero haberte ayudado

, y cualquier duda que tengas, preguntá....
ahh qué linda ciudad Rosario! allí está el Monumento a Nuestra Amada, Bellísima y Honorable Bandera!,

la más linda del Mundo!...
¡Saludos desde
Resistencia!
¡La Ciudad de las Esculturas!