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
#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;
}