Форум программистов, компьютерный форум CyberForum.ru

Вызов функции. - C++

Восстановить пароль Регистрация
 
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
722 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
24.02.2010, 19:51     Вызов функции. #1
Здрасти, у меня есть функция вычесления суммы цифр числа
C++
1
2
3
4
5
6
7
8
9
int sum_digit(int x)
{
      int sum=0;
      while (x!=0){
        sum=sum+(x%10);
        x=x/10;
      }
      return sum;
}
и функция, которая проверяет: делится ли введенное число на 3 без остатка
C++
1
2
3
4
5
bool onthree(int x){
    if (!(sum_digit(x)%3))
    return 1;
    return 0;
}

а вот сам вопрос: корректно ли так вызывать одну функцию из другой?(вызов sum_digit в onthree)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2010, 19:51     Вызов функции.
Посмотрите здесь:

C++ Вызов функции
C++ Вызов функции
Вызов функции C++
C++ Вызов функции в C++
Вызов функции в возврате значения функции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
24.02.2010, 19:52     Вызов функции. #2
почему нет?
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
24.02.2010, 21:04     Вызов функции. #3
PointsEqual, а что тебе мешает немного их поправив, вызывать последовательно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int sum_digit(int x)
{
      int sum=0;
      while (x!=0){
        sum=sum+(x%10);
        x=x/10;
      }
      return sum;
}
 
bool onthree(int x){
  return x % 3 == 0;
}
C++
1
2
3
4
5
6
7
8
9
//...
int main()
{
  int n;
  // ...
  int sum_of_digit = sum_digit(n);
  bool on_three = onthree(sum_of_digit );
  //...
}
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
722 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
25.02.2010, 02:15  [ТС]     Вызов функции. #4
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
PointsEqual, а что тебе мешает немного их поправив, вызывать последовательно?
я и так пробовал, но хочется узнать как все таки "правильние" (эффективнее)
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
25.02.2010, 02:24     Вызов функции. #5
PointsEqual, при желании можно вызывать хоть так
C++
1
bool on_three = onthree(sum_digit(n));
Главное не переусердствовать с такой вложенностью(желательно не более трех вложений)
Yandex
Объявления
25.02.2010, 02:24     Вызов функции.
Ответ Создать тему
Опции темы

Текущее время: 05:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru