Informatică, întrebare adresată de ondras23, 8 ani în urmă

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 de ProTel
0

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;

}

Alte întrebări interesante