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

Сумма цифр введённого числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Метод Ньютона http://www.cyberforum.ru/cpp-beginners/thread269915.html
ВОт короче такое дело. НУжна прога которая решает систему нелинейных уравнений методом Ньютона. ПРога есть, но она на паскале. ВОт: program Newton; uses wincrt; var x,y,f1,f2,a11,a12,a21,a22,d:real; i:integer; begin x:=1.5; y:=1.5;
C++ Как определить конец файла? В файле лежит одно число, которое нужно проверить на делимость на 11. Число большое-до 10^10000. Попробовал сделать так: #include <iostream> using namespace std; main(){ freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); char b; int c=0; http://www.cyberforum.ru/cpp-beginners/thread269914.html
C++ список
Даны натуральные числа k, m, n символы s1, ... , sk, t1, ... , tm, u1, ... , un. Получить по одному разу те символы, которые входят одновременно во все три последовательности. Нужно сделать с помощью списка.
C++ Функция f(x)
Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции. Функция f(x): f=arctg x+ln2 x2 : a=1 b=3
C++ не вижу ошибки http://www.cyberforum.ru/cpp-beginners/thread269903.html
программа компилируется,но выводит какие то иероглифы,помогите найти ошибки #include<assert.h> #include<iostream> #include<string> static const int N = 3; //количество "карточек" в массиве static const int char_size = 256; class note{ public: char family_name;
C++ отладить программу программа компилируется,но выводит какие то иероглифы,помогите найти ошибки #include<assert.h> #include<iostream> #include<string> static const int N = 3; //количество "карточек" в массиве static const int char_size = 256; class note{ public: char family_name; подробнее

Показать сообщение отдельно
Quiet Snow
4373 / 1235 / 208
Регистрация: 25.04.2010
Сообщений: 3,015

Сумма цифр введённого числа - C++

04.04.2011, 15:50. Просмотров 1011. Ответов 1
Метки (Все метки)

Создал сабж т.к. решение написано по теме, но не по разделу.
По воле администрации сохраняю все исходники в соотв. разделах

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// digits_sum.cpp: главный файл проекта.
 
#include "stdafx.h"
 
using namespace System;
 
int main(array<System::String ^> ^args)
{
//Написано на .NET но должно быть кристально понятно любому. 
String ^ input;
 
int how_many_digits = 1;
int summa =0;
int check_if_zero = 0;
 
bool stopcount = false;
float ostatok =0;
Console::Write(L"Введите число: ");
input = Console::ReadLine();
int number = Convert::ToInt32(input); //пляска с бубном, ибо не нашел как считать целое с консоли. Сорри, не до этого было 
if(number>10){
while(stopcount==false){
how_many_digits++;
check_if_zero = number/Math::Pow(10,how_many_digits); //Math::Pow(10,how_many_digits) - возведение 10 в степень how_many_digits
 
 
//ВНИМАНИЕ: поскольку check_if_zero имеет тип int, то произойдет ЦЕЛОЧИСЛЕННОЕ деление. Если разделить 10 на 3 в результате будет 3(ТРИ).
if (check_if_zero<=0){ //проверяем, если число, деленное на десять возведенное в степень how_many_digits меньше единицы(то есть, подвинулся ли разряд дальше нуля до запятой)
stopcount = true;
//how_many_digits--; //это же неверно? Получается мы посчитали на разряд больше? Поправим разряд 
} 
}//посчитали цифирь
 
int current_digit = 0;
stopcount = false;
while(!stopcount){
 
if (how_many_digits>0){ // все цифры прошли? 
ostatok = number % Convert::ToInt32(Math::Pow(10,how_many_digits-1)); //Внимание! % в языке c++ - это "остаток от деления". Тип - float
current_digit = (number - (ostatok))/Math::Pow(10,how_many_digits-1); //Вычисляем текущую цифру: из числа вычитаем остаток, делим на 10 * количество разрядов-1
summa += current_digit; //сумма
number = number - (current_digit * Math::Pow(10,how_many_digits-1)); //уменьшаем число, убирая больший десятичный разряд.
} else {
stopcount = true;
 
}
how_many_digits--;
}
 
}
Console::WriteLine("\n{0}",how_many_digits);
    
-   return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru