četnost znaků v řetězci – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

četnost znaků v řetězci – C / C++ – Fórum – Programujte.comčetnost znaků v řetězci – C / C++ – Fórum – Programujte.com

 

Petr Schenk
~ Anonymní uživatel
5 příspěvků
23. 11. 2011   #1
-
0
-

Zdravim potřeboval bych poradit jak mám udělat program v C# abych na výstupu měl nejčastější znak z řetězce. Když jsou 2 (a více) znaků stejně četné tak aby se vypsal ten, který má v ASCII tabulce menší číslo. Děkuju za radu.

Nahlásit jako SPAM
IP: 158.194.198.–
Petr Schenk
~ Anonymní uživatel
5 příspěvků
24. 11. 2011   #2
-
0
-

nevítě někdo? už mám jen 7 a půl hodiny na dokončení tohodle programu a vubec nevim jak na to :-(

Nahlásit jako SPAM
IP: 158.194.198.–
H4wk.cz0
Newbie
24. 11. 2011   #3
-
0
-

#1 Petr Schenk
Co ti dělá problém? Musíš projít řetězec znak po znaku a do nějakého čítače si pamatovat kolikrát jsi který znak viděl. Na konci se podíváš, které znaky mají nejvíc výskytů. Nevím jak je to v C# s unicode znaky, ale pokud budeme předpokládat, že každý znak má 1B, tak bude stačit pole velikosti 255. Vynulujeme ho a pak za každý znak do pole, na pozici ascii hodnoty písmene, přičteme jedničku. Na konci projdeme pole od začátku a zapamatujeme si, kde jsme našli maximum.

Nahlásit jako SPAM
IP: 83.208.107.–
http://ksp.mff.cuni.cz - Nauč se opravdu programovat
Petr Schenk
~ Anonymní uživatel
5 příspěvků
24. 11. 2011   #4
-
0
-

#3 H4wk.cz
Jako postup (ten co si psal) bych plus mínus věděl ale nevim jak ho realizovat v Cčku :-(

Nahlásit jako SPAM
IP: 158.194.198.–
Petr Schenk
~ Anonymní uživatel
5 příspěvků
24. 11. 2011   #5
-
0
-

a asi by se tu nenašel někdo kdo by věděl jak to napsat a dal to sem co? :-(

Nahlásit jako SPAM
IP: 158.194.198.–
zlz
~ Anonymní uživatel
634 příspěvků
24. 11. 2011   #6
-
0
-

Na C# je tady sekce .NET.

string text = Console.ReadLine();
text = Encoding.ASCII.GetString(Encoding.ASCII.GetBytes(text));

int[] pocty = new int[128]; // ASCII ma 128 znaku
foreach (char znak in text)
    pocty[znak]++;

int maxpocet = 0;
char maxznak = ' ';
for (int i = 0; i < pocty.Length; i++)
{
    if (pocty[i] > maxpocet)
    {
        maxpocet = pocty[i];
        maxznak = (char)i;
    }
}

Console.WriteLine("text: " + text);
Console.WriteLine("znak: '{0}', pocet: {1}", maxznak, maxpocet);
Console.ReadLine();
Nahlásit jako SPAM
IP: 213.211.51.–
volftomas0
Newbie
24. 11. 2011   #7
-
0
-

#4 Petr Schenk
neptal ses nahodou jak to udelat v C#??

Nahlásit jako SPAM
IP: 193.165.76.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 54 hostů

Podobná vlákna

četnost znaků ve vb6 — založil Milan Pavel

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý