• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PlayFair - Cipher

VPS Starter Arubacloud
0 głosów
485 wizyt
pytanie zadane 19 stycznia 2019 w C i C++ przez BinaryMan Stary wyjadacz (12,620 p.)

Witam !
Piszę szyfr PlayFair-a , tylko napotkałem mały problem. Chcę go rozszerzyć o polskie znaki + spacja, aby była tabliczka 6x6. Problem w tym że funkcja która tworzy stringa z którego tworzę później tablicę nie uwzględnia Polskich liter. 
PS. Korzystam z linuxa i wszędzie konsola/system/pliki.cpp mam ustawione kodowanie utf-8.

 

#include <iostream>
#include <string>
#include <stdio.h>
#include <string.h>

using namespace std;

int RemoveDuplicates(char *pStr)
{
    if(!pStr || !*pStr)
        return 0;

    int counts[256] = {0};

    int current = 0, next = 0;

    while(pStr[current] != '\0') 
    {
        if(++counts[pStr[current]] == 1) 
        {
    
            pStr[next++] = pStr[current];

        }
        ++current;
    }
    pStr[next] ='\0';

    return next;

}


int main()
{
    string alfabet = "aąbcćdeęfghijklłmnńoópqrsśtuvwxyzźż ";
    string klucz;
    cout<<"Dawaj klucz: ";
    cin>>klucz;

    string klucz_plus_alf = klucz+alfabet;
    int klucz_alf_size = klucz_plus_alf.length();

    char str[klucz_alf_size];
    strcpy(str, klucz_plus_alf.c_str());
    RemoveDuplicates(str); 
    cout<<str<<endl;

    char playfair_grid [6][6];
    int k=0;
    for(int i=0; i<6; i++)
    {
        for(int j=0; j<6; j++)
        {
            playfair_grid[i][j] = str[k];
            k++;
        }
    }

    cout<<endl;
    cout<<"============== PlayFair grid ============== "<<endl;
    for(int i=0; i<6; i++)
    {
        for(int j=0; j<6; j++)
        {
            cout<<"| "<<playfair_grid[i][j]<<" |";
        }
        cout<<endl;
    }
    return 0;
}

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
0 odpowiedzi 3,564 wizyt
pytanie zadane 23 listopada 2019 w Python przez Nieprofesjonalny Użytkownik (890 p.)
–1 głos
2 odpowiedzi 275 wizyt
pytanie zadane 29 lipca 2019 w HTML i CSS przez fff Gaduła (3,950 p.)
0 głosów
1 odpowiedź 844 wizyt
pytanie zadane 24 marca 2019 w C i C++ przez inc0gnito Początkujący (260 p.)

93,004 zapytań

141,968 odpowiedzi

321,247 komentarzy

62,340 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...