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

Cerinţa
Să se scrie o funcție C++ care să determine suma cifrelor pare și suma cifrelor impare pentru un număr natural transmis ca parametru. Funcția va întoarce rezultatele prin intermediul unor parametri de ieşire.

Restricţii şi precizări
numele funcției va fi sumcif
funcția va avea trei parametri: primul parametru reprezintă numărul n pentru care se calculează cifrele cerute;al doilea parametru va reprezenta suma cifrelor pare ale lui n, iar al treilea va reprezenta suma cifrelor impare ale lui n
n va fi număr natural mai mic decât 2.000.000.000

Exemplu
După apelul

sumcif(274 , s , t);
s va avea valoarea 6, iar t va avea valoarea 7.

Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

Eu am incercat urmatoarea solutie, dar imi da 0 puncte:

#include <iostream>

using namespace std;
void sumcif(int n, int &s, int &t)
{
int x;
while (n!=0)
{
x=n%10;
n=n/10;
if (x%2==0)
s=s+x;
else
t=t+x;
}
}

Răspunsuri la întrebare

Răspuns de express
11
Gresala ta consta in faptul ca nu ai trimis doar definitia functiei si ai trimis tot programul. Pentru a lua 100p trebuie sa trimiti doar functia. De ex. sursa mea de 100p :
void sumcif(int n, int &p, int &i)
{
    p=0;
    i=0;
    while(n)
    {
        if((n%10)%2==0) p = p + n % 10;
          else i = i + n % 10;
        n = n / 10;
    }
    return;
}

Alte întrebări interesante