Diskuze: Vigenerova šifra
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 14 zpráv z 14.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Od 98 odčítáš hodnotu písmena z hesla, jelikož to bude vždy větší (písmena začínají právě 97 a pokračují dál), vznikne ti vždy záporné číslo, tedy kromě "a", kde odečítáš -1 (neboli přičítáš 1, tudíž to funguje "správně), a b, kdy odčítáš 0, tudíž se ti písmeno nezašifruje... Musíš změnit 2 věci, jednak odečítat od kódu písmene ono číslo vždy, aby jsi dostal kladný posun, a oním číslem musí být 96, aby v případě "a" vyšlo 97 - 96= 1 => posun o 1, příkad, "r", tedy 114, z toho máme 114 - 96 = 18, => posun o 18 míst.... dále pak vyřešit zakomponování posunu zpět na začátek abecedy, když to přesáhne hranice, ale to už snad zvládneš sám po tomto popostrčení
Ahoj,
mám problém u opakování k lekci 10-11 (Středně pokročilý příklad). Při prvním zapsání v cyklu mohu zapsat obě souřadnice, při druhém už lze zapsat jen jedna. V příloze je zdroják i output.
Předem děkuji za odpověď.
Zřejmě ti tam zůstává enter z minulého vstupu, který přečteš tím znakem (takže ve skutečnosti nečteš A ale enter a potom, když chceš číst enter, tak přečteš to A). Zkus dát mezeru do toho scanf
scanf(" %c");
scanf(" %d");
Ta mezera by měla odignorovat všechny bílé znaky.
Ahoj,
mám problém s piškvorkami. Při vpisování "O" do terminálu se "O" posune. V příloze zasílám kód i output.
Předem děkuji za odpověď.
Ahoj,
ako myslíš, že posunie? Veď B7 ti "O" vypísalo správne, skôr máš problém v tom, že pozíciu predchádzajúceho ti neuložilo či mýlim sa? Taktiež to "X" na pozícii 5 4 slúži zatiaľ len na testovanie? A premenná "k" nie je vidno na čo slúži. Pošli celý kód a môžeme to spojazdniť
Když se pořádně podíváš na output, tak je vidět, že "O" je nejdříve na pozici A6 a poté na pozici B7. Je to způsobené tím, že se mi po opakování cyklu "O" změní znovu na " ", tudíž se mi to neukládá do pole. To "X" na pozici 5 4 není testování, ale pevně daný začátek a proměnná "k" slouží k inicializaci levého sloupce.
Hej pozeral som, mne išlo o to, že to "O" na pozícii B7 je správne, len je chyba v tom, že to "O" na pozícii A6 sa prepísalo.
Ja by som ešte pred tým, než sa načnem pýtať kam chce užívateľ vložiť "O", inicializoval jednotlivé prvky pola piskvorky na prázdnu hodnotu ' '.
for (i = 0; i < 9; i++) {
for (j = 0; j < 9; j++) {
piskovorky[i][j] = ' ';
}
}
A až potom sa v cykle pýtaj kam chce dať "0", teda zadá ti súradnicu X a Y a už len jednoducho spravíš aby
piskvorky[x][y] = 'O';
a opäť vypíšeš celé pole.
Ahoj, mám problém se středně pokročilým úkolem v opakování k lekci 12. Místo toho, aby se mě zeptal o kolik znaků, chci větu "ahoj svete" zkrátit a následně mi danou větu zkrátil, tak mi to akorát napíše číslo. Kód i output je v příloze.
Předem děkuji za odpověď.
Už jsem odpovídal, zkus se nad tím zamyslet.
http://gribblelab.org/…vs_Heap.html
Vždy keď vytváraš vo funkcii nejaké premenné tak sú uložené v stacku a teda ak sa funkcia skončí tak sa pamäť uvoľní a dáta sa "stratia". Preto keď chceš nejako upraviť svoju premennú deklarovanú vo funkcii main tak sprav funkciu ktorá bude potrebovať len pointer na túto premennú alebo deklaruj túto premennú ako globálnu alebo môžeš priamo z funkcie returnúť to čo potrebuješ alebo to celé sprav vo funkcii main.
Zobrazeno 14 zpráv z 14.