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 11:44 | Komunita

    Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.

    Ladislav Hagara | Komentářů: 6
    dnes 11:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Komunita

    V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.

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

    Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.

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

    Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.

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

    Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.

    Ladislav Hagara | Komentářů: 2
    14.6. 21:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    14.6. 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    13.6. 15:22 | IT novinky

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

    Ladislav Hagara | Komentářů: 8
    13.6. 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

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


    Dotaz: c++ sifrovani

    12.4.2013 21:00 marek33
    c++ sifrovani
    Přečteno: 849×
    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.