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

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

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

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

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

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 9
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

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

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

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

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 741 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: c++ sifrovani

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