[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.06.12
Prihlásený: 23.04.22
Príspevky: 64
Témy: 27 | 27
NapísalOffline : 04.11.2013 14:50 | caesarova šifra v C

Vedel by mi niekto poradisť s kodom na caesarovu šifru ? Dokážem ho urobiť pre jeden kľúč tak, že si šifru načítam zo súboru a dešifrujem do iného, ale zadanie je také, že musím načítať reťazec ako pole znakov a program vypíše naraz všetky riešenie pre kľúč k=1 až 24.Skúšal som to pomocou getchar ale to berie v úvahu len prvé pismeno . (Caesarova šifra je šifra prei ktorej posúvam písmeno o tolko znakov aky je kluč, takže pre K=1 bude ahoj vyzerať takto : BIPK)


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 04.11.2013 14:58 | caesarova šifra v C

Reťazec načítaš pomocou gets()
Kód:
char retazec[100]; // max 100 znakov
gets( retazec );

Ďalej ti teda stačí rozšifrovať ho pre nejaký kľúč K a tento kľúč 24 krát zmeniť. To sú dva cykly v sebe, to zvládaš :)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.06.12
Prihlásený: 23.04.22
Príspevky: 64
Témy: 27 | 27
Napísal autor témyOffline : 04.11.2013 20:33 | caesarova šifra v C

Kód:
# include <stdio.h>

int main (void)
{

    int kluc;
   
   
    char str[100];
    char str[100] = "ahoj";

   for(kluc = 0;kluc < 25; kluc++)
   {
    while( ( znak = fgetc(fp) ))
    {
     if ( znak >= 'a' && 'z' >= znak)
      {
       znak += kluc;
        if ( znak > 'z' )
          {
            znak -= 'z';
            znak = 'a' + znak - 1;
          }
      }
    }

     znak = getchar();
     printf("%c",znak);


}

mám to takto , ale mám v tom hrozný chaos stále to píše chyby:/


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 04.11.2013 20:38 | caesarova šifra v C

Všimol si si v mojom príspevku, ako načítaš reťazec? Prečo tam furt pcháš getchar? Ty máš dešifrovať slová/vety/reťazce, nie znaky


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.06.12
Prihlásený: 23.04.22
Príspevky: 64
Témy: 27 | 27
Napísal autor témyOffline : 04.11.2013 20:53 | caesarova šifra v C

Kód:
char retazec[100];
gets ( ahoj );

takto ?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 04.11.2013 21:06 | caesarova šifra v C

Áha, ja som myslel, že aspoň základy C-čka máš :/ Čo je to premenná, čo je to pole, čo je to reťazec... Ak to je školská úloha, skús si toto ešte raz pozrieť. Hlavne čo je to premenná a reťazec.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
 [ Príspevkov: 6 ] 


caesarova šifra v C



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Sifra v C

v Assembler, C, C++, Pascal, Java

5

417

30.01.2015 20:31

mitko

V tomto fóre nie sú ďalšie neprečítané témy.

"sifra" v pascale

v Assembler, C, C++, Pascal, Java

1

390

06.01.2010 14:48

raf



© 2005 - 2024 PCforum, edited by JanoF