Ajutati-ma va rog!!
1. Se citesc din fișierul “date.in” numere naturale
până la apariția lui zero. Determinați și afișați câte dintre ele
erau pare.
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <fstream>
#include <string>
int main()
{
std::ifstream ifstream;
std::string elementCurent;
int contorNrPare{};
ifstream.open("date.in");
if (!ifstream.good())
exit(EXIT_FAILURE);
while (std::getline(ifstream, elementCurent, ','))
{
if (std::stoi(elementCurent) == 0)
break;
if (std::stoi(elementCurent) % 2 == 0)
contorNrPare++;
}
std::cout << "Numarul de numere pare din \"date.in\" este >> " << contorNrPare << std::endl;
ifstream.close();
return 0;
}
Explicație:
Cât timp există linii în fișier practic „spargi” linia aia în elemente separate în funcție de token (,) și salvezi elementul în elementCurent. Verifici dacă elementulCurent este 0 (std::stoi(...) face conversia din string în int). Dacă e 0 dai break la while. Dacă-i diferit de 0 verifici dacă-i par, dacă-i par incrementezi contorNrPare cu 1. La final afișezi contorNrPare.