Codificati un text astfel incat litera a sa devina c, b sa devina e s.a.m.d.
Cum se face ?Nu imi iese
Razzvy:
Tocmai ai facut cunostinta cu cifrul Cezar!
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char text[10000];
int len;
cin.getline(text, 256);
len = strlen(text);
for(int i = 0; i < len; ++i)
{
if(text[i] >= 'a' && text[i] <= 'z') //Daca e litera
{
text[i] = (text[i] - 'a' + 1) % ('z' - 'a' + 1 /*26*/) + 'a' /*97*/;
//Am fi putut face direct text[i]+=1, dar problema era cand ajungea la z, daca adaugam 1, in codul ascii din 122(codul lui z), devenea 123, dar defapt trebuia sa devina 97; As fi putut pune un if(text[i] == 'z') text[i] = 'a', dar am vrut sa fac o formula generala
}
}
cout<<text;
}
#include <cstring>
using namespace std;
int main()
{
char text[10000];
int len;
cin.getline(text, 256);
len = strlen(text);
for(int i = 0; i < len; ++i)
{
if(text[i] >= 'a' && text[i] <= 'z') //Daca e litera
{
text[i] = (text[i] - 'a' + 1) % ('z' - 'a' + 1 /*26*/) + 'a' /*97*/;
//Am fi putut face direct text[i]+=1, dar problema era cand ajungea la z, daca adaugam 1, in codul ascii din 122(codul lui z), devenea 123, dar defapt trebuia sa devina 97; As fi putut pune un if(text[i] == 'z') text[i] = 'a', dar am vrut sa fac o formula generala
}
}
cout<<text;
}
Alte întrebări interesante
Evaluare Națională: Lb. Română ,
8 ani în urmă
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă