Răspuns :
Răspuns:
#include <iostream>
#include <string>
#include <vector>
bool
existaCaracterDiferitDeSpatiu(const std::string& linie);
bool
verificaLinii(const std::vector<std::string>& vectorLinii);
int
main()
{
std::vector<std::string> vectorLiniiText;
std::string liniaCitita;
vectorLiniiText.reserve(20);
while (true) {
std::cout << "Introdu linia >> ";
std::getline(std::cin, liniaCitita);
/* am pus eu condiția asta ca să ies din while (tu o să citești până nu mai primești input / nu mai ai linii în fișier etc...) */
if (liniaCitita.empty()) break;
/* ăsta ar fi cazul în care linia are mai mult de 100 de caractere */
if (liniaCitita.length() > 100) exit(EXIT_FAILURE);
vectorLiniiText.push_back(liniaCitita);
/* ăsta ar fi cazul în care citim mai mult de 20 de linii */
if (vectorLiniiText.size() > 20) exit(EXIT_FAILURE);
}
/* dacă avem mai puțin de 2 linii afișăm "Text prea scurt" */
if (vectorLiniiText.size() < 2) {
std::cout << "Text prea scurt\n";
}
/* dacă avem minim 2 linii */
if (vectorLiniiText.size() >= 2) {
/* și toate liniile conțin măcar un caracter diferit de spațiu */
if (verificaLinii(vectorLiniiText)) {
/* afișăm a doua linie din vector */
std::cout << vectorLiniiText.at(1) << "\n";
}
}
return 0;
}
bool
verificaLinii(const std::vector<std::string>& vectorLinii)
{
/* presupunem că toate liniile conțin minim un caracter diferi de spațiu */
bool conditieAdevar{ true };
for (const std::string& linieCurenta : vectorLinii) {
/* dacă găsim o linie ce nu respectă condiția ieșim din for și returnăm false */
if (!existaCaracterDiferitDeSpatiu(linieCurenta)) {
conditieAdevar = false;
break;
}
}
return conditieAdevar;
}
bool
existaCaracterDiferitDeSpatiu(const std::string& linie)
{
/* by default presupunem că nu există niciun caracter diferit de spațiu */
bool conditieAdevar{ false };
for (const char& caracterCurent : linie) {
if (caracterCurent != ' ') {
/* dacă am găsit cel puțin un caracter diferit de spațiu setăm condiția la true și dăm break pentru că nu mai are rost să căutăm altele */
conditieAdevar = true;
break;
}
}
return conditieAdevar;
}
Dacă nu îți iasă ceva, mai trebuie modifiat/adăugat lasă un comentariu și rezolvăm.
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, vă rugăm să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la lista de favorite!