Mam za zadanie napisac program, ktory przesunie o dowolna liczbe znaki w podanym hasle i na koniec musi wydrukowac liczbe przesuniec i nowe slowo. Przykladem:
Input:
10
MAMA
Output:
10 WKWK
Cały program świetnie działa, tylko nie umiem wypisać liczby, bo robiąc cout w pętli for dostaję 10W10K10W10K. Wiem, że pytanie trywialne, ale już nie mam pomysłów jak sobie z tym poradzić
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
string zaszyfrowanyTekst = " ";
string odszyfrowanyTekst = " ";
int spacja = 32;
int liczbaPrzesuniec;
while (cin >> liczbaPrzesuniec)
{
cin.ignore();
if(liczbaPrzesuniec <= 0 || liczbaPrzesuniec > 26)
{
cout << "Podales nieprawidlowa liczbe przesuniec. Wpisz ja ponownie: ";
}
else
{
getline(cin, zaszyfrowanyTekst);
for (int i = 0; i < zaszyfrowanyTekst.length(); i++)
{
if(zaszyfrowanyTekst[i] == spacja)
{
cout << " ";
continue;
}
else if (zaszyfrowanyTekst[i] >= 'A' && zaszyfrowanyTekst[i] <= 'Z')
{
odszyfrowanyTekst[i] = zaszyfrowanyTekst[i] + liczbaPrzesuniec;
if(odszyfrowanyTekst[i] > 'Z')
{
odszyfrowanyTekst[i] -= 26;
}
cout << liczbaPrzesuniec << odszyfrowanyTekst[i];
}
}
cout << "\n";
}
}
return 0;
}