С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 06.02.2022
Сообщений: 7
1

Написать программу используя функцию

06.02.2022, 11:37. Показов 1455. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно написать программу: В Нумерологии существует правило расчета «своего числа»: в дате своего рождения
(год, месяц, число) сложить все цифры. В полученном числе вновь сложить все цифры
и так до тех пор, пока число, не станет однозначным. Это и будет «твое число».
Использовать функцию с параметрами для вычисления суммы цифр числа
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.02.2022, 11:37
Ответы с готовыми решениями:

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

Написать код используя функцию
#include <iostream> #include <math.h> using namespace std; int main() { int...

Написать функцию, вычисляющую y, используя итерационную формулу
Написал программу, работает некорректно. Пожалуйста, помогите исправить #include <cmath> #include...

Написать функцию, вычисляющую произведение, используя только сложение
написать функцию выычисляющую произведение a и b используя только +

7
Злостный нарушитель
9558 / 5187 / 1182
Регистрация: 12.03.2015
Сообщений: 24,490
06.02.2022, 12:10 2
Лучший ответ Сообщение было отмечено Volga_ как решение

Решение

Ахтунг! Не отлаживал, писал на заборе!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
unsigned dig_sum(unsigned x)
{
  unsigned sum = 0;
  while (x) sum += x % 10, x /= 10;
  return sum;
}
 
/* В Нумерологии существует правило расчета «своего числа»: 
   в дате своего рождения (год, месяц, число) сложить все цифры. 
   В полученном числе вновь сложить все цифры и так до тех пор, 
   пока число, не станет однозначным. */
unsigned foobla(unsigned year, unsigned month, unsigned day)
{
  sum = dig_sum(year) + dig_sum(month) + dig_sum(day);
  while (sum > 9) sum = dig_sum(sum);
  return sum;
}
2
Модератор
Эксперт CЭксперт С++
5201 / 2918 / 1509
Регистрация: 14.12.2018
Сообщений: 5,260
Записей в блоге: 1
06.02.2022, 12:12 3
Лучший ответ Сообщение было отмечено UnderTTTaker как решение

Решение

UnderTTTaker, предлагаю вам код, можно оптимизировать его:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
int sumDigits(int n)
{
    int res = 0;
    while (n)
    {
        res += n % 10;
        n /= 10;
    }
    return res;
}
int yourNumber(int Y, int M, int D)
{
    int n = sumDigits(Y) + sumDigits(M) + sumDigits(D);
    while (n > 9)
    {
        n = sumDigits(n);
    }
    return n;
}
int main()
{
    int Year = 1983, Month = 7, Day = 13;
    std::cout << "Your number is " << yourNumber(Year, Month, Day);
    return 0;
}
0
Заблокирован
06.02.2022, 12:13 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int func(int *d)
{
    int a,s=0;
    for(int i=0; i<3; i++)
        for(a=d[i]; a; a/=10)
            s+=a%10;
    for(a=s,s=0; a; a/=10)
            s+=a%10;
    return s;
}
int main()
{
 
    int d[3]={06,02,2022};
    cout<<"day month year: ";
    cin>>*d>>d[1]>>d[2];
    cout<<func(d)<<endl;
1
Модератор
Эксперт CЭксперт С++
5201 / 2918 / 1509
Регистрация: 14.12.2018
Сообщений: 5,260
Записей в блоге: 1
06.02.2022, 12:14 5
Цитата Сообщение от Verevkin Посмотреть сообщение
Не отлаживал, писал на заборе!
Не видел твой ответ перед моим постом.
0
758 / 455 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
06.02.2022, 12:16 6
Вот.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
int shorten(int && num)
{
    if(num / 10 == 0)
    {
        return num;
    }
    return num % 10 + shorten(num/10);
}
int dateSum(int &year, int &month, int &day)
{
    int num = shorten(int(year)) + shorten(int(month)) + shorten(int(day));
    num = shorten(int(num));
    return num;
}
 
int main()
{
    int year = 0, month = 1, day = 1;
    std::cout << " Enter year, month and day:\n";
    std::cin >> year >> month >> day;
    std::cout << dateSum(year, month, day);
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 06.02.2022
Сообщений: 7
06.02.2022, 12:24  [ТС] 7
Всем большое спасибо!!
0
Злостный нарушитель
9558 / 5187 / 1182
Регистрация: 12.03.2015
Сообщений: 24,490
06.02.2022, 12:26 8
Цитата Сообщение от Volga_ Посмотреть сообщение
Не видел твой ответ перед моим постом.
1
06.02.2022, 12:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2022, 12:26
Помогаю со студенческими работами здесь

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

Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя
Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала...

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

Написать функцию умножения двух чисел, используя только операцию сложения
Привет))помогите пожалуйста решить задачку(на языке С): 1)Написать функцию умножения двух чисел,...

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

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru