IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 8. diel - Textové reťazce v Kotlin druhýkrát - Práca so znakmi

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Martin Bažant:15.2.2019 19:34

Moc pěkně vysvětlené! :-)

Když proměnné <code>posun</code> přiřadím nějaké vyšší číslo (např. 50), zašifrovaná zpráva se tak jako tak posune mimo znaky abecedy. Lze toto na základě doposud získaných znalostí nějak ošetřit, aniž bych musel při vstupu uživatele omezovat rozpětím čísel, které může zadat (a přitom násilně neměnil hodnotu, kterou uživatel zadal)?

 
Odpovedať
15.2.2019 19:34
Avatar
Samuel Kodytek
Tvůrce
Avatar
Odpovedá na Martin Bažant
Samuel Kodytek:17.2.2019 8:58

Ahoj,

Dalo by se to udělat více způsoby:

  • 1. - Kontrolovat vrchní mez podmínkou. Pak podle toho jestli ti ten tvůj budoucí znak přetýká se zachovat nějak (nechci to celé spoilovat).
  • 2. V 11. lekci se probírá modulo (zbytek podělení). Tím se dá udělat poněkud elegantní řešení.

Určitě doporučuji si to zkusit aspoň napsat. Kdyby sis už nevěděl rady, tak napiš a já ti pomůžu se posunout, popř. ti ukážu svoje řešení :)

Odpovedať
17.2.2019 8:58
There is more than one way to screw it
Avatar
Martin Bažant:17.2.2019 16:27

Děkuju! Budu nad tím dumat :-)

 
Odpovedať
17.2.2019 16:27
Avatar
Vladimír Čížek:21.9.2020 23:52
fun main(args: Array<String>) {
    print("Zadej nějak řetězec: ")
    val s = readLine()!!
    print("Zadej posun: ")
    var p = readLine()!!.toInt()
    var sifra: String = ""
    for (i in s){
        var cislo = i.toInt()
        cislo += p
        if (cislo > 'z'.toInt()){
            p= p%26
            cislo = 'a'.toInt() - 1 + p
        }
        var znak = cislo.toChar()
        sifra += znak
    }
    println(s)
    println(sifra)
}
Odpovedať
21.9.2020 23:52
Život je pes..:-)
Avatar
Jakub Ledvina:31.3.2022 19:58

Ahoj, nevíte proč v IntelliJ. Při výpisu programu nemám háčky a čárky. Děkuju za radu.

 
Odpovedať
31.3.2022 19:58
Avatar
Petr Grenar
Člen
Avatar
Petr Grenar:6.12.2022 21:37

Přesně takové cvičení bych potřeboval před 8 lety na bakaláři, tam jsme něco podobného dělali v Cčku a byla to teda pěkná pakárna.

 
Odpovedať
6.12.2022 21:37
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Petr Grenar
DarkCoder:7.12.2022 2:04

...tam jsme něco podobného dělali v Cčku a byla to teda pěkná pekárna.

Co je tak obtížného na tom indexovat jméno pole pro přístup ke znaku na daném indexu pole?

Pokud jde o Cézarovu šifru tak řešení je na pár řádků.

Odpovedať
7.12.2022 2:04
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Petr Grenar
Člen
Avatar
Odpovedá na DarkCoder
Petr Grenar:7.12.2022 18:48

Složitého na tom nic není, ale v té době jsem spal na vavřínech protože jsem přece uměl programovat z průmyslovky a indexy v Cčku pro mě byli španělská vesnice. Srovnávat s kotlinem to samozřejmě nejde, prostě jsem si to rád zopakoval :)

 
Odpovedať
7.12.2022 18:48
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Petr Grenar
DarkCoder:7.12.2022 19:15

... jsem přece uměl programovat z průmyslovky a indexy v Cčku pro mě byli španělská vesnice.

Přístup k prvku pole pomocí indexace je ve všech jazycích takřka stejný. Kdo tohle neovládá tak s programováním prakticky ještě ani nezačal. Nad tím, jak přistupovat ke znaku, by se nemělo vůbec přemýšlet. Jiná věc je algoritmizace, tam opakování popřípadě najít správné prvotní řešení přijde vhod..

Editované 7.12.2022 19:16
Odpovedať
7.12.2022 19:15
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Petr Grenar
Člen
Avatar
Odpovedá na DarkCoder
Petr Grenar:8.12.2022 13:24

Kámo bráško, uber vody :D účelem mého příspěvku bylo pochválit autora za fajn cvičení. Nic víc. Díky čau.

 
Odpovedať
8.12.2022 13:24
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!