Informatică, întrebare adresată de Ioana760, 9 ani în urmă

Vă rog, ajutați-mă.
Subprogramul sum primește prin intermediul parametrului a un număr natural de maximum 8 cufre și returnează suma cifrelor impare ale lui a.
a) Scrieți definiția completă a subprogramului sum.
b) Fișierul test date.txt conține pe prima linie un număr natural n (n<=100), iar pe a doua linie n numere naturale, separate prin câte un spațiu, fiecare număr având maximum 8 cifre. Scrieți un program C++ care citește toate numerele din fișier și afișeaza pe ecran, despărțite prin căte un spațiu, numerele de pe a doua linie a fișierului date.txt, ce au toate cifrele pare, folosind apeluri utile ale subprogramului sum.
Exemplu: dacă fișierul date.txt are conținutul
6
26 1775 333 242477 123 86 atunci se vor afișa numerele: 26 86

Răspunsuri la întrebare

Răspuns de pigwimgs
2
#include <bits/stdc++.h>
using namespace std;
ifstream f("date.txt ");
int i,s,a[20],n;
void sum (int a,int &s)
{
    while(a!=0)
    {  if((a%10)%2!=0)s=s+a%10;
        a=a/10;
    }
}
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
       {f>>a[i];
       s=0;
        sum(a[i],s);
        if(s==0)cout<<a[i]<<" ";}
}


Alte întrebări interesante