Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] количество нечетных цифр натурального числа


Автор: pokemona 25.12.2007, 16:30
помогите решить задачу очень прошу !=(

Написать функцию, подсчитывающую количество нечетных цифр натурального числа. Используя ее, определить, в каком из трех чисел больше нечетных цифр.

Автор: MAKCim 25.12.2007, 16:37
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: SergeCpp 25.12.2007, 16:51
Код
int odds( int num )
{
  int odd( 0 );

  while( num )
  {
    odd += num % 10 & 1;
    num /=       10;
  }

  return odd;
}


С Рождеством Вас!

Автор: pokemona 25.12.2007, 17:37
простите дурака:(
это visual c++ 6.0 отчот,«Создание пользовательских функций 
извините а что такое odd или можно её как нибудь решить на уровне дауна....у нас только первый год поэтому ....

Автор: Solomon 25.12.2007, 18:03
SergeCpp, что то ты реально загнул как для обьяснения начинаещему стеденту... smile

попытаюсь описать более понятно

Код

int odds( int num )
{
  int odd( 0 ); // это равносильно созданию интовской переменной и инициализации её нулем т.е. int i = 0 

  while( num )//тут думаю все понятно
  {
    //odd += num % 10 & 1;
   //более понятно думаю будет так
    if(num % 2 != 0)
       odd+=num;

    num /=       10;
  }

  return odd;//тут тоже должно быть понятно
}


Надеюсь так все понятно будет

Автор: pokemona 25.12.2007, 18:11
а сначала написать?
 #include<iostream.h>
 #include<math.h> 
void main()
{

да?


Автор: Solomon 25.12.2007, 18:20
Код

#include <iostream.h>

int main()
{
  int Number = 0;
  int Uneven = 0;

  cout<<"Введите число";
  cin>>Number ;

  while( Number > 0)
  {
    if(Number % 2 != 0)
       Uneven ++ ;

    Number  /=   10;
  }

  cout<<"\nчисло содержит"<<Uneven<<"нечетных чисел";

  return 0;
}


все.. можеш запустить проверить...

Автор: pokemona 25.12.2007, 18:32
 в своей функции нужно вычислить только подсчеты количества нечетных, и вызвать эту функцию из главной

вот фто надо =(

Автор: Solomon 25.12.2007, 18:37
ну млин.. такое ощущение что ты не первый год а первый день учиш программирование...  smile  smile 

Код

#include <iostream.h>

int Func(int _Number)
{
  int Uneven = 0;

   while( _Number > 0)
  {
    if(_Number % 2 != 0)
       Uneven ++ ;

    _Number  /=   10;
  }
  
   return Uneven;
}

int main()
{
  int Number = 0;
  int Uneven = 0;

  cout<<"Введите число";
  cin>>Number ;

   Uneven = Func(Number );

  cout<<"\nчисло содержит"<<Uneven<<"нечетных чисел";

  return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)