Tengo un problema, tengo que imprimir cuantas letras tiene una cadena del abecedario ejemplo: "Hola mundo"
a =1
b=0
c=0
d=1
e=0
f=0
g=0 y así sucesivamente
en formulario de windows
Tema movido a .net
que llevas hecho?
Solo esto:
string cadena, letra;
int n, k;
cadena = txtCadena.Text;
n = cadena.Length;
for (k = 0; k < n; k++) {
}
Puedes utilizar LINQ para simplificar el código.
Código original:
Dim charset As Char() = "abcdefghijklmnopqrstuvwxyz".ToCharArray()
Dim str As String = "Hello World"
Dim charDict As New SortedDictionary(Of Char, Integer)(
str.GroupBy(Function(c As Char) Char.ToLower(c)).
ToDictionary(Function(group As IGrouping(Of Char, Char)) group.Key,
Function(group As IGrouping(Of Char, Char)) group.Count))
For Each c As Char In charset
Dim count As Integer = charDict.SingleOrDefault(Function(pair As KeyValuePair(Of Char, Integer)) pair.Key = c).Value
Console.WriteLine("Character: {0}; Count: {1}", c, count)
Next c
Traducción online a C#:
char[] charset = "abcdefghijklmnopqrstuvwxyz".ToCharArray();
string str = "Hello World";
SortedDictionary<char, int> charDict =
new SortedDictionary<char, int>(str.GroupBy((char c) => char.ToLower(c)).
ToDictionary((IGrouping<char, char> @group) => @group.Key,
(IGrouping<char, char> @group) => @group.Count));
foreach (char c in charset) {
int count = charDict.SingleOrDefault((KeyValuePair<char, int> pair) => pair.Key == c).Value;
Console.WriteLine("Character: {0}; Count: {1}", Convert.ToString(c), Convert.ToString(count));
}
//=======================================================
//Service provided by Telerik (www.telerik.com)
//=======================================================
Resultado de ejecución:
Character: a; Count: 0
Character: b; Count: 0
Character: c; Count: 0
Character: d; Count: 1
Character: e; Count: 1
Character: f; Count: 0
Character: g; Count: 0
Character: h; Count: 1
Character: i; Count: 0
Character: j; Count: 0
Character: k; Count: 0
Character: l; Count: 3
Character: m; Count: 0
Character: n; Count: 0
Character: o; Count: 2
Character: p; Count: 0
Character: q; Count: 0
Character: r; Count: 1
Character: s; Count: 0
Character: t; Count: 0
Character: u; Count: 0
Character: v; Count: 0
Character: w; Count: 1
Character: x; Count: 0
Character: y; Count: 0
Character: z; Count: 0
PD: Puedes adaptar facilmente el código si quieres trabajar mayus y minus por igual.
Saludos!