314
Cerința
Se dau trei numere naturale n, k și p și n șiruri formate din litere mici ale alfabetului englez. Înlocuiți a k-a literă din fiecare șir cu a p-a literă din alfabet. Dacă șirul are mai puțin de k litere se va scrie oglinditul lui.
Date de intrare
Pe prima linie a fișierului schimb.in se află trei numere naturale n, k și p. Pe următoarele n linii se află n șiruri.
Date de ieșire
În fișierul schimb.out se vor scrie noile șiruri, fiecare pe un rând nou.
Restricții și precizări
1 ≤ n, k ≤ 100001 ≤ p ≤ 26- șirurile au cel mult
500de caractere
Exemplul 1
schimb.in
2 4 7 abcde efg
schimb.out
abcge gfe
Exemplul 2
schimb.in
3 2 3 wqysd s sj
schimb.out
wcysd s sc
#include <bits/stdc++.h>
using namespace std;
ifstream cin("schimb.in");
ofstream cout("schimb.out");
int main()
{
int n , k , p;
cin >> n >> k >> p;
char ch = (char)96+p;
cin.get();
for(int t = 0 ; t < n ; ++t)
{
char a[501];
cin.getline(a , 501);
int i = 0;
int cnt=0;
bool ok=false;
int capat=0;
while(a[i]!='\0')
{
if(a[i]!=' ')
cnt++;
if(cnt==k)
ok=true;
capat=i;
i++;
}
if(ok)
{
i=0;
while(a[i]!='\0')
{
if(i+1==k)
cout << ch;
else
cout << a[i];
i++;
}
}
else
while(capat>-1)
{
cout << a[capat];
capat--;
}
cout << endl;
}
return 0;
}
Comentarii