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

Сумма цифр натурального числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ build error [xxx.exe] error 1 http://www.cyberforum.ru/cpp-beginners/thread672742.html
Почему после компиляции dev-cpp выдает такую ошибку: D:\*****\Makefile.win Error 1 При компиляции в visual с все в порядке Добавлено через 11 минут разобрался уже
C++ Простенькая процедура // Вторая лаба.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; /* Процедура ввода матриц */ void vvod2m(int x,int Nx,int Mx) { http://www.cyberforum.ru/cpp-beginners/thread672727.html
C++ Разработка класса: Abiturient: Фамилия, Имя, Отчество, Адрес, Оценки
разработать класс включая в метод Set и Get определить другие методы. Написать программу демонстрирующую работу с этим классом. Abiturient:Фамилия, Имя, Отчество, Адрес, Оценки. задать проходной бал поступления и определить, поступил ли абитуриент в ВУЗ.
C++ написать программу для вычисления суммы первых пяти элементов массива
написать программу для вычисления суммы первых пяти элементов массива.
C++ Удалить из массива все элементы, встречающиеся четное количество раз http://www.cyberforum.ru/cpp-beginners/thread672716.html
в общем есть 3 задачи,так как я совсем чайник прошу помощи: 1.дан массив из n элементов.удалить все элементы встречающиеся четное кол-во раз.(используя цикл for int main() {setlocale(LC_ALL, "Russian"); int n,s,k; double a; cout<<"введите кол-во элементов"<<"\n"; cin>>n; for (int i=0; i<n;i++) {cout<<"ввод элементов"<<"\n";
C++ Конвертация типа или как сэкономить на указателе? Везде, где только могу, использую ссылающийся тип, чтобы лишний раз не создавать экземпляры, а просто давать "новое имя" имеющимся. Сталкнулся с проблемой : error C2664: '_SECURITY::Encryption' : cannot convert parameter 1 from 'char *' to 'const char *&' Как видно, подаю на входе строку, которая в методе класса должна быть лишь прочитана. Конечно, я могу поставить 'const char *', но тогда... подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт CЭксперт С++
12890 / 7276 / 811
Регистрация: 27.09.2012
Сообщений: 17,975
Записей в блоге: 2
Завершенные тесты: 1
16.10.2012, 21:37     Сумма цифр натурального числа
0.0 Из main вызываем suma с аргументом 1435

1.1 x=1435
1.2 сравнение x с 0.
1.2.0 Если x=0, тогда возвращаем 0 вызывающей функции и выходим из функции.
1.2.1 Если x!=0, тогда
1.2.3 остаток от деления x%10 = 5 //Запомни, 5!
1.2.4 вызываем функцию suma с аргументом x/10 = 143 и ждем ее завершения (тут переход на пункт 2.1)
1.2.5 складываем 5 и то, что вернет функция suma(143)

2.1 Начинает работать функция с x=143
2.2 сравнение x с 0.
2.2.0 Если x=0, тогда возвращаем 0 вызывающей функции и выходим из функции.
2.2.1 Если x!=0, тогда
2.2.3 остаток от деления x%10 = 3 //Запомни, 3!
2.2.4 вызываем функцию suma с аргументом x/10 = 14 и ждем ее завершения (тут переход на пункт 3.1)
2.2.5 складываем 3 и то, что вернет функция suma(14)

3.1 Начинает работать функция с x=14
3.2 сравнение x с 0.
3.2.0 Если x=0, тогда возвращаем 0 вызывающей функции и выходим из функции.
3.2.1 Если x!=0, тогда
3.2.3 остаток от деления x%10 = 4 //Запомни, 4!
3.2.4 вызываем функцию suma с аргументом x/10 = 1 и ждем ее завершения (тут переход на пункт 4.1)
3.2.5 складываем 4 и то, что вернет функция suma(1)

4.1 Начинает работать функция с x=1
4.2 сравнение x с 0.
4.2.0 Если x=0, тогда возвращаем 0 вызывающей функции и выходим из функции.
4.2.1 Если x!=0, тогда
4.2.3 остаток от деления x%10 = 1 //Запомни, 1!
4.2.4 вызываем функцию suma с аргументом x/10 = 0 и ждем ее завершения (тут переход на пункт 5.1)
4.2.5 складываем 1 и то, что вернет функция suma(0)

5.1 Начинает работать функция с x=0
5.2 сравнение x с 0.
5.2.0 Если x=0, тогда возвращаем 0 вызывающей функции и выходим из функции.//Сейчас x равен 0

Теперь все функции начнут поочередно заканчиваться.
Функция №5 вернет 0 в функцию №4
Функция №4 вернет 1 в функцию №3 (пункт 4.2.5 1+0=1)
Функция №3 вернет 5 в функцию №2 (пункт 3.2.5 4+1=5)
Функция №2 вернет 8 в функцию №1 (пункт 2.2.5 3+5=8)
Функция №1 вернет 13 в функцию main (пункт 2.2.5 5+8=13)

13 и будет суммой цифр.
Бррррррррр, рекурсию в линейку расписал..жесть =)))
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru