Potrzebuję pomocy w kolejnym rozwinięciu tego zadania:
Rozwiń zadanie 2, tak że wczytasz dodatkowo liczbę określającą przesunięcia
pomiędzy znakami szyfrowanymi, a znakami tekstu jawnego. Do szyfrowania znaków
będzie trzeba użyć funkcji modulo (%). Pamiętaj również o rozróżnieniu dwóch przypadków: wielkich i małych liter.
Mam sobie po prostu wczytać liczbę miejsc o ile ma przesunąć, i użyć tej zmiennej w pętlach for? O co rozchodzi się z tym modulo, jak mam tego użyć do szyfrowania?
@Edit
Tylko mała zmiana kodu:
for (int i = 0; i < dlugosc; i++)
{
if (tekst[i] == 'X' || tekst[i] == 'x' || tekst[i] == 'Y' || tekst[i] == 'y' || tekst[i] == 'Z' || tekst[i] == 'z')
{
tekst[i] -= 23;
}
else if (tekst[i] == ' ')
{
}
else
{
tekst[i] += pozycja;
}
}
Teraz myślę nad tą funkcją modulo, bo rozumiem, że to ma być warunek dla x,y,z,X,Y,Z - tylko chyba jeszcze muszę trochę pomyśleć jakaś wskazówka?
@Edit 2
Ok tu będzie trzeba sprawdzić jakoś czy nie wykracza poza liczbę z tablicy ASCII, odpowiadającą literze "Z" - może coś wymyślę.
@kq mógłbyś mi wytłumaczyć coś, dlaczego dzieję się tak, że nieważne jakie przesunięcie bym nie wprowadził to dla tego warunku
if (tekst[i] == 'X' || tekst[i] == 'x' || tekst[i] == 'Y' || tekst[i] == 'y' || tekst[i] == 'Z' || tekst[i] == 'z')
{
tekst[i] -= 23;
}
Zawsze wychodzi mi a,b,c -> czyli prawidłowo. Teraz wystarczyłoby wymyślić, że w warunku tego 'if' byłoby coś co wyliczałoby, które litery w zależności od wartości przesunięcia, mają się załapać do tej instrukcji warunkowej.
dodanie znaczników <code class="cpp">
- @furious programming