AJUTOR URGENT AM TEST!!!!!!!!!!
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 ≤ 10000
1 ≤ p ≤ 26
șirurile au cel mult 500 de caractere
Problema 1580 de pe pbinfo
Răspunsuri la întrebare
Răspuns de
2
Răspuns:
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
ifstream f("schimb.in");
ofstream g("schimb.out");
char s[502], ch, t[502];
short n,k,p,i, len, cod;
void ogl(char s[], short len)
{
for (short j=0; j<len/2; ++j)
swap(s[j],s[len-1-j]);
}
int main()
{
f >> n >> k >> p;
f.get();
for (i=1; i<=n; ++i)
{
f >> s; f.get();
len=strlen(s);
cout << len << "\n";
cod=97+p-1; ch=(char)cod;
if (len<k)
{ ogl(s,len); g << s << "\n"; }
else
{
s[k-1]=ch;
g << s << "\n";
}
}
}
Explicație:
Alte întrebări interesante
Chimie,
8 ani în urmă
Informatică,
8 ani în urmă
Geografie,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă