» »

Sortiranje črk v stringu - C#

Sortiranje črk v stringu - C#

rookie123 ::

Zdravo.

Moram opraviti nalogo, katere del je tudi, da iz stringa sortiram črke glede na to, koliko krat se pojavijo v stringu. Torej v stringu "banana" povedat, da je "a" prvi, drugi "n", "b" pa tretji po pogostosti pojavljanja v stringu. Kako se da to elegantno rešiti? Prosim za nasevet ali par vrstic kode. Hvala!

Keki ::

Ko besedo prebereš daj beseda.toCharArray() posortiraj po črkah pol pa štej recimo dokler a a++, dokler b b++...
oz najbolše da gledaš kr po ascii kodi dokler 65(A) oz 97(a) a++ in pol maš v tem primeru spremenljivke z vrednostmi 3 2 1.In pol v polje 3 x a pa 2 x n in 1 x b pač na primeru banane. Na začetku še pogledaš kolko maš različnih črk. Nekak tak bi jaz to rešo.
http://www.alfakan.si/
http://mihajerot.si/

MaCoFaCo ::

Rešitev z uporabo Linq (potreben C# 3.0 prevajalnik):

using System;
using System.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string beseda = "banana";

            var grupirano = from znak in beseda
                           group znak by znak into g
                           select new {Crka = g.Key, Stevilo = g.Count()} ;

            var sortirano = from grupa in grupirano
                            orderby grupa.Stevilo descending
                            select grupa;

            foreach (var grupa in sortirano)
            {
                Console.WriteLine(string.Format("Črka {0}: {1}", grupa.Crka, grupa.Stevilo));
            }
        }
    }
}

rookie123 ::

Sem naredil tako, da sem ustavril 2D tabelo tipa int, potem pa sem pisal notri t[0,0] = 97 , t[0,1] = 0;
In tako za vse male crke. Prvi stolpec je mala crka v ascii, drugi pa število ponavljan v nizu. Potem pač grem čez niz, in primerjam prvi stoplec recimo t[10,0] == niz[i] in ustrezno povečujem vrednost v drugem stolpcu. Nato tabelo sortiram po drugem stolpcu. To je to. Hvala vseeno.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c#] Majhen problemček

Oddelek: Programiranje
101042 (850) darkolord
»

Nemorem rešit ene naloge z c++ (sem začetnik) (strani: 1 2 )

Oddelek: Programiranje
6810547 (6285) technolog
»

C# tabela

Oddelek: Programiranje
51036 (888) Mitja Bonča
»

branje iz datoteke c#

Oddelek: Programiranje
141665 (1394) darkolord
»

c# težava delo z nizi

Oddelek: Programiranje
131557 (1408) Tutankhamun

Več podobnih tem