Să se scrie un program care citește un șir de caractere în care cuvintele sunt formate numai din litere mici ale alfabetului englez și sunt separate prin câte un spațiu și elimină litera din mijloc a fiecărui cuvânt cu număr impar de litere (cel puțin trei).Programul citește de la tastatură un șir de cel mult 100 caractere.Programul afișează pe ecran textul obţinut, iar dacă nu există niciun cuvânt modificat, afișează pe ecran mesajul nu exista.
Exemplu
Intrare
pictura prin aceea arata o pace profunda
Ieșire
picura prin acea arta o pace profunda
AM INCERCAT SA O REZOLV PRIN MAI MULTE VARIANTE DAR NU AM OBTINUT DECAT 40 DE PUNCTE(#799) PBINFO
Răspunsuri la întrebare
Răspuns de
11
#include <iostream>
#include <cstring>
using namespace std;
int main()
{char s[101],*p, a[51][101],aux[101];
int i,k=0,lungime,ok;
cin.getline(s,101);
ok=0;
p=strtok(s," "); //extrag primul cuvant
while(p)
{
lungime=strlen(p);
strcpy(a[k],p);
if(lungime%2==1)
{
if(lungime>1){ok=1;
strcpy(aux,p+lungime/2+1);
strcpy(a[k]+lungime/2,aux);
}
}
k++;
p=strtok(NULL," "); //extrag urmatorul cuvant
}
if(ok)
{
for(i=0;i<k;i++)
cout<<a[i]<<" ";
}
else
cout<<"nu exista";
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă