Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Szyfr z przesuwaniem na przemian


Rekomendowane odpowiedzi

Opublikowano

Czesc, naprowadzi ktos do celu?
Chcę zrobic aby tekst w stringu wysietlalo jako
A = B,

B = D,

C = D, 

D = F
...

 

Moj kod:

#include <iostream>

using namespace std;

int main()
{
    string text = "ABCD";
    char one;
    char two;

    for(int i = 0; i<=(text.size()/2)-1; i++)
    {
        one = text[i];
        one = one + 1;
        cout<<one;
        two = text[i+1];
        two = two + 2;
        cout<<two;
    }
    return 0;
}

anNO14B_460sa.gif

Opublikowano

Rozumiem, że chodzi ci o ABCD -> BCDE?

Jeśli tak to po co dzielisz przez 2 długość stringu.

#include <iostream>

using namespace std;

int main()
{
    string text = "ZZZZ";
    for(int i = text.length()-1; i >= 0 ; --i){
        if (text[i] = 'Z') text[i]=64;
        text[i] += 1;
    }

    cout << text;
    return 0;
}

TuByłaSygnatura.png

Opublikowano

Rozumiem, że chodzi ci o ABCD -> BCDE?

Jeśli tak to po co dzielisz przez 2 długość stringu.

#include <iostream>

using namespace std;

int main()
{
    string text = "ABCD";
    for(int i = text.length()-1; i >= 0 ; --i)
        text[i] += 1;

    cout << text;
    return 0;
}

Jeszcze trzeba zrobić, aby z 'Z' przechodziło na 'A'

ABCD -> BDDF

 

A+1=B

B+2=D

C+1=D

D+2=F

...

­

anNO14B_460sa.gif

Opublikowano

 

#include <iostream>

using namespace std;

int main()
{
    string text = "ABCD";
    for(int i = text.length()-1; i >= 0 ; --i)
    {
        if (text[i] == 'Z') text[i] = 66;
        else if (text[i]%2 != 0) text[i]+=1;
        else text[i] += 2;
    }

    cout << text;
    return 0;
}

Od razu mówię, że w takim szyfrowaniu nigdy w stringu nie zobaczysz litery 'A'.

TuByłaSygnatura.png

Opublikowano
#include <iostream>

using namespace std;

int main()
{
    string text = "ABCD";
    for(int i = text.length()-1; i >= 0 ; --i)
    {
        if (text[i] == 'Z') text[i] = 66;
        else if (text[i]%2 != 0) text[i]+=1;
        else text[i] += 2;
    }

    cout << text;
    return 0;
}

Od razu mówię, że w takim szyfrowaniu nigdy w stringu nie zobaczysz litery 'A'.

 

Co znaczy --i oraz czemu nigdy nie zobacze litery a?

­

anNO14B_460sa.gif

Opublikowano

Co znaczy --i oraz czemu nigdy nie zobacze litery a?

­

--i to prawie to samo co i = i - 1

Dlatego nie zobaczysz litery 'A', gdyż

Y --+1-->Z

Z --+2-->B

itd.

TuByłaSygnatura.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...