abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Bezpečnostní upozornění

    V Drupalu byla nalezena a opravena kritická zranitelnost SA-CORE-2026-004 (CVE-2026-9082). Útočník může provádět libovolné SQL dotazy na webech používajících databázi PostgreSQL.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    včera 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    19.5. 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    19.5. 19:00 | Nová verze

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:22 | Nová verze

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:00 | Nová verze

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1673 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: c++ sifrovani

    12.4.2013 21:00 marek33
    c++ sifrovani
    Přečteno: 845×
    ahoj, muzete mi nekdo prosim vysvetlit co dela tucne napsana cast programu

    int main(){
     FILE *f,*g;
     int znak;
     int pocet=0,a,b,c;
     printf("Zadejte tri cisla pro sifrovani: ");
     scanf("%d %d %d",&a,&b,&c);
     f=fopen("original.txt","r");
     g=fopen("sifra.txt","w");
     while((znak=getc(f))!=EOF){
       switch(pocet%3){
         case 0:znak=znak+a; break;
         case 1:znak=znak+b; break;
         case 2:znak=znak+c; break;              
       }
     if (znak>255)
         znak=znak-256;
       putc(znak,g);
       pocet++;                          
     }
     fclose(f);
     fclose(g);
     getchar();
     getchar();   
     return 0;   
    }

    Řešení dotazu:


    Odpovědi

    12.4.2013 21:10 potato
    Rozbalit Rozbalit vše Re: c++ sifrovani
    Vypíše jeden znak do souboru g. Pokud je kód znaku větší než 256 (protože je to výsledek jakéhosi sčítání), tak nejdřív odečte 256.

    Což je tedy doslovné převyprávění toho kódu, ale nic záhadného v něm není, takže nic jiného jsi ani moc čekat nemohl...
    Řešení 1× (mimi.vx)
    rADOn avatar 15.4.2013 14:58 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: c++ sifrovani
    Je to naivni implementace vigenerovy sifry pro hardcodovany pocet abeced (tri). Sifrovani probiha v modulo-N aritmetice kde N je delka abecedy. V tomto pripade 256 (velikost charu), a protoze autor toho kodu evidentne nevedel ze mod-256 aritmetiku lze v C dosahnout prostym pretypovanim na char, udelal tu osklivost s odecitanim 256. pocet++ zajistuje prohazovani sifrovacich abeced.

    BTW doufam ze nemas v umyslu to nejak pouzivat, jako sifra to nestoji za moc a jako programovani v C je to na zastreleni.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    15.4.2013 16:26 kuka
    Rozbalit Rozbalit vše Re: c++ sifrovani
    Zminene pretypovani dela sama putc, takze v programu nemusi byt nic. Jsem liny to zkouset, ale kdyz znak == EOF, coz nastane pro prazdny vstupni soubor, tak bych asi cekal, ze to spadne.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.