Pagini recente » Monitorul de evaluare | Cod sursa (job #1339961) | Cod sursa (job #3164833) | Cod sursa (job #2047590) | Cod sursa (job #1339956)
#include<fstream>
#include<string>
using namespace std;
ifstream fin("cezar.in");
ofstream fout("cezar.out");
int k[10],i,j,sp[255];
string s;
int main()
{
getline(fin,s);
for(i=0;i<=9;++i)fin>>k[i];
for(i=0;i<=s.length();++i)if(s[i]==' ')sp[i]=1;
for(i=0;i<=s.length();++i)if(s[i]==' ')s.erase(i,1);
j=0;
for(i=0;i<=s.length();++i){
if(s[i]-k[j]<'A')s[i]=s[i]-k[j]+26;
else s[i]=s[i]-k[j];
++j;
if(j>9)j%=10;
}
for(i=0;i<=s.length();++i)if(sp[i]==1){s.insert(i,1,' ');sp[i]=0;--i;}
fout<<s;
return 0;
}