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

Se da un fisier cu numele nr. Txt in care se gasesc mai multe numere separate prin cate un spatiu. Sa se afiseze la monitor suma si produsul tuturor cifrelor pare ale numerelor existente in fisier. Ex: nr. Txt: 124 38 195 283
monitor: 4+2+8+8+2=24 ; 4*2*8*8*2=1024.

Răspunsuri la întrebare

Răspuns de Rayzen
0

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int main() {

 // Deschidem fisierul "nr.txt" in modul de citire

 ifstream f("nr.txt");

 // Daca fisierul nu poate fi deschis, afisam un mesaj de eroare

 // si iesim din program

 if (!f) {

   cerr << "Eroare la deschiderea fisierului 'nr.txt'!" << endl;

   return 1;

 }

 // Variabilele suma si produs vor retine rezultatele finale

 int suma = 0, produs = 1;

 // Citim fiecare numar din fisier, unul cate unul

 while (!f.eof()) {

   string nr;

   f >> nr;

   // Verificam daca am ajuns la sfarsitul fisierului

   if (f.eof()) break;

   // Pentru fiecare numar, parcurgem fiecare cifra

   for (char c : nr) {

     // Convertim caracterul citit la un numar intreg

     int x = c - '0';

     // Daca cifra este para, adaugam-o la suma si inmultim-o cu produsul

     if (x % 2 == 0) {

       suma += x;

       produs *= x;

     }

   }

 }

 // Afisam rezultatele finale

 cout << "Suma cifrelor pare din fisier este: " << suma << endl;

 cout << "Produsul cifrelor pare din fisier este: " << produs << endl;

 return 0;

}

Alte întrebări interesante