C++ Найти частное произведений четных и нечетных цифр четырехзначного числа.

0 голосов
241 просмотров
спросил от (40 баллов) в категории Информатика

C++ Найти частное произведений четных и нечетных цифр четырехзначного числа.


0
оставил комментарий от Отличник (6.6k баллов)

Чётных по значению или по расположению?

1 Ответ
0 голосов
ответил от Одаренный (1.3k баллов)

#include

/* main program function */
int main()
{
  int
    iMulEven = 1,
    iMulOdd = 1,
    iNumber;
  char cMask = 0;

  std::cin >> iNumber;
  if (iNumber > 9999 || iNumber < 1000)
  {
    std::cout << "Error! Input the correct number!" << std::endl;<br>    return 0;
  }
  
  for (int i = 0; i < 4; i++)
  {
    int iEnd = iNumber % 10;
    if (iEnd % 2 == 0)
      iMulEven *= iEnd, cMask |= 1;
    else
      iMulOdd *= iEnd, cMask |= 2;
    iNumber /= 10;
  }

  if (cMask == 3)
    std::cout << static_cast<double>(iMulEven) / iMulOdd << std::endl;<br>  else if (cMask == 1)
    std::cout << "There is no odd digits exists." << iMulEven << std::endl;<br>  else
    std::cout << "There is no even digits exists." << iMulOdd << std::endl;<br>  return 0;
} /* end of the 'main' function */

0
оставил комментарий от (10 баллов)

либо "error"

0
оставил комментарий от Одаренный (1.3k баллов)

Так делать немного тупо, но для 4 итераций сойдёт...

0
оставил комментарий от (10 баллов)

в принципе не критично, если не подставлять значения с одинаковыми цифрами, ответ выходит неверный.

0
оставил комментарий от Одаренный (1.3k баллов)

В исправленном варианте без ошибок, вроде.

0
оставил комментарий от (10 баллов)

да, все верно.

...