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
PD. Estoy trabajando en SharpDevelop
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