В этой задаче вы должны написать функцию void count_odd_even(int n, int *odd, int *even).

Данная функция должна сохранять в переменную, которая лежит по указателю odd количество нечётных цифр числа, а в переменную, которая лежит по указателю even, — количество чётных цифр.

На вход вашей программе будут даваться 10 чисел. Для каждого из них вы должны вывести два числа — количество нечётных цифр и количество чётных цифр.

Весь ввод и вывод должен быть организован в функции main, которая для подсчёта будет вызывать функцию count_odd_even.

Формат входных данных
На вход программе даётся 10 натуальных чисел, каждое из которых не превышает 109.
Формат выходных данных
Ваша программа должна вывести 10 пар чисел — количетство четных и нечётных цифр в каждом числе.

Ответы

Ответ дал: igorShap
0

/*Замечание:  По условию, с одной стороны, |n| ≤10⁹, с другой стороны, тип n - int, то есть число 10⁹ в переменную n не поместится.*/

#include <iostream>

#include <math.h>


using namespace std;


int odd = 0, even = 0;


void count_odd_even(int n, int *odd, int *even);


int main() {

       int a[10];


       for (int i = 0; i < 10; i++)

               cin >> a[i];


       for (int i = 0; i < 10; i++) {

               count_odd_even(a[i], &odd, &even);

               cout << "(" << odd << "; " << even << ")" << endl;

               odd = 0;

               even = 0;

       }


       return 0;

}


void count_odd_even(int n, int *odd, int *even) {

       int t;

       t = abs(n);

       do {

               if (t % 2 == 1)

                       (*odd)++;

               else (*even)++;

               t /= 10;

       } while (t != 0);

}

Вас заинтересует