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

Să se scrie programul C++ care citește de la tastatură un cuvânt de maximum 20 de litere și minimum o literă și șterge litera din mijloc în cazul în care cuvântul are un număr impar de litere, respectiv cele două litere din mijlocul cuvântului dacă acesta are un număr par de litere. Programul va afișa cuvântul rezultat în urma ștergerii sau mesajul CUVANT VID dacă după ștergere acesta rămâne fară nicio literă. Exemplu : dacă se citește cuvântul carte, se va afișa cate; dacă se citește cuvântul cartea, se va afișa caea.

Răspunsuri la întrebare

Răspuns de korenivaniel
1

Răspuns:

#include <iostream>

#include <string>

using namespace std;

int main() {

   string word;

   cout << "Introduceti cuvantul: ";

   cin >> word;

   int wordLength = word.length();

   if (wordLength == 0) {

       cout << "CUVANT VID" << endl;

       return 0;

   }

   if (wordLength % 2 == 0) {

       word.erase(wordLength / 2 - 1, 2);

   } else {

       word.erase(wordLength / 2, 1);

   }

   if (word.length() == 0) {

       cout << "CUVANT VID" << endl;

   } else {

       cout << word << endl;

   }

   return 0;

}

Explicație:


VxF: Doar ca fapt divers, se putea cu o singură ștergere necondiționată: word.erase(wordLength / 2 + wordLength % 2 - 1, 2 - wordLength % 2);
panaitgabriela09: Iti multumesc mult pentru ajutor.
Alte întrebări interesante