Navigace: Hlavní stránka -> BASIC -> 05 Jednorozměrná pole -> 05.07 Určování četností znaků v textu

MENU

05.07 Určování četností znaků v textu

Zadání:
Sestavte program, který ze zadaného textu (max. 80 znaku bez českých) určí četnosti jednotlivých znaků
Řešení:
Po zadání textu (pro jednoduchost předpokládáme malá písmena anglické abecedy) pomocí cyklu FOR vynulujeme
pole četností jednotlivých znaků (pole četností má indexy v intervalu 97..122 = pořadí malých písmen anglické
abecedy v ASCII tabulce). Poté pomocí druhého cyklu FOR pro každý znak v textovém řetězci zjistíme pořadové číslo
znaku v ASCII tabulce (funkcí ASC) a inkrementujeme příslušný prvek v poli četností. Na konci programu pomocí
cyklu FOR vytiskneme pouze ty četnosti znaků, které mají nenulovou hodnotu.
Module Module1

    Sub Main()

        Dim cetnosti(122) As Byte
        Dim i As Integer
        Dim retezec As String

        Console.Write("Zadejte textovy retezec: ")
        retezec = Console.ReadLine

        For i = 97 To 122
            cetnosti(i) = 0
        Next
   
        For i = 0 To retezec.Length - 1
            cetnosti(Asc(retezec.Chars(i))) = cetnosti(Asc(retezec.Chars(i))) + 1
        Next

        For i = 97 To 122
            If cetnosti(i) <> 0 Then Console.WriteLine("{0}: {1}", Chr(i), cetnosti(i))
        Next

        Console.ReadLine()

    End Sub

End Module
program ke stažení