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

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.

Anexe:

Răspunsuri la întrebare

Răspuns de Apollyon
1

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.

Alte întrebări interesante