Un text cu maxim 255 de caractere contine cuv separate prin cate un spatiu.Modificati textul astfel incat sa se elimine literele din mijloc pt fiecare cuvant cu lungime impara mai mare sau egala cu 3.
C++ va rog!
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <cstring>
using namespace std;
string Elimina(string cuv){ //functie care elimina litera din mijlocul unui cuvant
int l,i;
string cuvv,cuvn; //cuvant vechi si cuvant nou(modificat)
l=cuv.length(); //lungime cuvant
if (l<3) {
return cuv + " ";
}
cuvv=cuv;
if ((l%2) != 0) {
for(i=0;i<(l/2);i++) cuvn=cuvn + cuvv[i];
for(i=(l/2)+1;i<(l);i++) cuvn=cuvn+cuvv[i];
}
else {
cout << cuv + " ";
}
return cuvn + " ";
};
int main() { //programul principal
char text[256]; // declarare dimensiunea textului
string cuv;
cout << "Introduceti text : " <<endl;
cin.getline(text, 100); // functia getline() pentru citire text
char *ptr; // declare a ptr pointer
ptr = strtok(text, " , "); // functia strtok() pentru separarea unui text folosind delimitatorul (,) .
cout << "\nTextul modificat " << endl;
while (ptr != NULL)
{
cuv=ptr;
cout<< Elimina(cuv);
ptr = strtok (NULL, " , ");
}
return 0;
}