Se citește un număr n, și n versuri dintr-o poezie. Fiecare vers ocupă un rând și conține litere mari și mici ale alfabetului englez, spații, și semne de punctuație . , ! ?. Să se elimine din fiecare vers toate semnele de punctuație, mai puțin cel aflat la final.
Date de intrare
Programul citește de la tastatură numărul n și cele n versuri.
Date de ieșire
Se vor afișa versurile modificate.
Restricții și precizări
1 ≤ n ≤ 15- fiecare vers va conține maxim
255de caractere
Exemplu
Intrare
3 A fost!... odata!, Ca, nicioada,, O fata? frumoasa... de imparat!
Ieșire
A fost odata, Ca nicioada, O fata frumoasa de imparat!
SOLUTIE
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char n[300],sep[]=",.?!";
int nr;
cin>>nr;
cin.get();
for(int j=0; j<nr; j++)
{
cin.getline(n,300);
for(int i=0; i<strlen(n); i++)
{
if(strchr(sep,n[i]) && n[i+1]!=NULL)
{
char aux[300];
strcpy(aux,n+i+1);
strcpy(n+i,aux);
i--;
}
}
cout<<n<<endl;
}
return 0;
}
SOLUTIE2
#include <iostream>
#include <cstring>
using namespace std;
char m[20][256];
int main()
{
int n,x = 0;
cin>>n;
cin.get();
for(int k=1;k<=n ;k++)
{
char vers[256];
cin.getline(vers, 256);
long l = strlen(vers);
for(int i=0;i<l-1;i++)
if(strchr(".,!?", vers[i]))
{
char aux[256];
strcpy(aux, vers+i+1);
strcpy(vers+i, aux);
l--;
i = 0;
}
strcpy(m[++x],vers);
}
for(int i=1;i<=x;i++)
cout<<m[i]<<'\n';
}