Ayuda con un codigo de C#

Iniciado por volterra, 23 Mayo 2010, 20:45 PM

0 Miembros y 1 Visitante están viendo este tema.

volterra

Hola a toda la comunidad en general!!!

tengo una duda con un codigo que quiero que verifique los caracteres de una frase y luego verificque que letra se repite mas y le asigne el numero uno, a la que le sigue el dos y si hay dos o mas letras que aparescan el mismo numero de veces les asigne el numero segun en el oreden que aparece.

Ejemplo: supongamos
que se tiene la cadena " Hola a todos ", el caracter que mas se repite es la " o ", por
lo que se le asocia el numero 1, el que le sigue es la " a " le corresponde el valor de
2, para los siguientes caracteres es de acuerdo al orden de aparicion en el texto, el 3
estara asociado a la "H".

Lo que busco es poder hacerlo par una frase para despues poder codificrlo en un archivo pero tengo un problema con este codigo que dejo acontinuacion

Código (csharp) [Seleccionar]
using System;
namespace Frase
{
class Program
{
public static void Main()
{
string s="Hola a todos";
s.ToLower();
char[] car=s.ToCharArray();
int[] num=new int[28]; //este nos va a contar cuantas veces se repite cada letra
char[] letras=new char[28] {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s','t','u','v','w','x','y','z'};//aqui me marca un error pues me dice qu son demaciados caracteres
for(int i=0;i<car.Length;i++)
{for(int j=0;j<28;j++)
{if(car[i]==letras[j])
{num[j]++;}
break;
}
}
char bufferc;
int buffern=0;
for(int i=0;i<28;i++)
{for(int j=i;j<28;j++)
{if(num[i]<num[j])
{buffern=num[i];
bufferc=letra[i];
num[i]=num[j];
letras[i]=letras[j];
num[j]=buffern;
letras[j]=bufferc;
}
}
}
}
}
}


PD. Estoy trabajando en SharpDevelop

[D4N93R]

#1
Esta línea

Código (csharp) [Seleccionar]
char[] letras=new char[] {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s','t','u','v','w','x','y','z'};

Quitale el 28 , asi puedes agregar la cantidad de char que quieras, sin necesidad de modificar el tamaño del array.

Y los códigos ponlo siempre entre [ code=csharp ][/code ] para que sea más fácil de entender.