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

Написать подпрограмму, которая определяет, делится ли число на «3» без остатка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Увеличение памяти для массивов http://www.cyberforum.ru/cpp-beginners/thread891695.html
В процессе отладки программы появилась необходимость увеличить массивы, объявленные ниже, на 4 элемента. Можно ли это сделать в первом и во втором случаях, не изменяя константу 10? int...
C++ Удалить элемент из списка Есть реализован список на С++. Есть ф-ции добавления елемента в конец списка, на начало, и удаления елемента. Если удлять елемент который не последний то удаляет все нормально, и новые елементы в... http://www.cyberforum.ru/cpp-beginners/thread891692.html
C++ Обработка записей (Список пассажиров авиарейса имеет следующую структуру: фамилия - количество вещей – общий вес багажа – средний вес одной вещи)
Разработать и отладить программу обработки записей. Предусмотреть: - ввод данных - вывод результатов (на экран в виде таблицы и в файл) Задача: Список пассажиров авиарейса имеет следующую...
C++ Дан массив из 15 элементов. Найти 3 самых больших элемента массива, являющиеся простыми числами
Требуется написать программу на С++ в вижуал студио. Задание так звучит: "Дан массив из 15 элементов. Найти 3 самых больших элемента массива, являющиеся простыми числами". Помогите! Просто дело в...
C++ Метод Монте-Карло http://www.cyberforum.ru/cpp-beginners/thread891667.html
Написала код программы для этой задачи,а она выдает ошибку,подскажите что не так.И не прописала два последних условия- E-сбит ровно один истребитель,F-сбит ровно один самолет ...
C++ Записать входные данные в двоичный файл, а вычисленную матрицу в текстовый файл подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
05.06.2013, 12:49
kazak, да, тут надо рекурсивно сумму считать пока <10 не получится. А если со строками, то вот так:
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
#include <iostream>
#include <string>
#include <sstream>
#include <cstdlib>
 
std::string to_string( int value )
{
    std::stringstream s;
    s << value;
    return s.str();
}
 
int sum( std::string s )
{
    int res = 0;
    for( int i=s.length()-1; i>=0; --i )
    {
        res += s[i] - '0';
    }
 
    if( res > 9 )
    {
        return sum( to_string(res) );
    }
    return res;
}
 
int sum( int value )
{
    return sum( to_string( value ) );
}
 
bool is3div( int value )
{
    switch( sum( value ) )
    {
        case 3:
        case 6:
        case 9: return true;
    }
    return false;
}
 
int main()
{
    int value; 
    std::cin >> value;
    std::cout << std::boolalpha << is3div( value ) << std::endl;
    std::system( "pause" );
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru