Cerința
Se dau mai multe șiruri de caractere. Pentru fiecare șir, afișați șirul format doar din caracterele aflate pe poziții impare și șirul format din caracterele aflate pe poziții pare. Cele două șiruri vor fi separate printr-un singur spațiu, pe câte o linie.
Date de intrare
Fișierul de intrare paritatesiruri.in conține pe prima linie numărul K, reprezentând numărul de șiruri ce urmează a fi prelucrate. Pe următoarele K linii se află câte un șir format doar din litere mari și mici ale alfabetului limbii engleze.
Date de ieșire
Fișierul de ieșire paritatesiruri.out va conține k liniii: pe linia j se vor afla cele două șiruri separate printr-un singur spațiu care au rezultat din al j-lea șir citit.
Restricții și precizări
1 ≤ K ≤ 100
2 ≤ N ≤ 10000
numerotarea caracterelor din șir începe de la 0
Exemplu
paritatesiruri.in
2
PbInfo
Informatica
paritatesiruri.out
bno PIf
nomtc Ifraia
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
ifstream fin("paritatesiruri.in");
ofstream fout("paritatesiruri.out");
int main()
{
int K, s, i, p;
char sir[255], sir1[255], sir2[255];
fin>>K;
for(s=1;s<=K;s++)
{
fin>>sir;
sir1[0]='\0'; sir2[0]='\0';
p=0;
for(i=1;i<strlen(sir);i=i+2)
{
sir1[p]=sir[i]; p++;
}
sir1[p]='\0';
p=0;
for(i=0;i<strlen(sir);i=i+2)
{
sir2[p]=sir[i]; p++;
}
sir2[p]='\0';
fout<<sir1<<' '<<sir2<<'\n';
}
fin.close();
fout.close();
return 0;
}
Alte întrebări interesante
Engleza,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Informatică,
9 ani în urmă
Chimie,
9 ani în urmă
Matematică,
9 ani în urmă
using namespace std;
ifstream in("paritatesiruri.in");
ofstream out("paritatesiruri.out");
int main()
{
string s;
int n;
in>>n;
in.get();
for(int i=1;i<=n;i++)
{
getline(in,s);
for(int i=0;i if(i%2)
out< out<<" ";
for(int i=0;i if(i%2==0)
out< out<<'\n';
}
return 0;
}