Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите решить задачу в С++

94K
08 сентября 2014 года
Haisenberg128
1 / / 08.09.2014
Дано трёхзначное число найти сумму его сотен , десятков и единиц
  • Скласти програму яка виводить на екран 1000елементів послідовності{n-1/2n от Вася Банга, 18 сентября 2014 года
392
08 сентября 2014 года
cronya
421 / / 03.01.2009
если целое 3-х значное, как в вашем случаи

Код:
#include <iostream>
#include <cstdlib>
#include <ctime>

using std::cout;
using std::endl;
using std::system;

int main()
{
    srand((unsigned)time(NULL));
    int first_value = 100;
    int range = rand() % 100;
    int numer = first_value + range;

    int summa = 0;
    int len = 3;
    cout << "Number = " << numer << endl;
    do
    {
        summa += numer % 10;
        numer = numer / 10;
        len--;
    } while (len != 0);

    cout << summa << endl;

    system("pause");
    return 0;
}
Результат
 
Код:
Number = 142
7
Для продолжения нажмите любую клавишу . . .
1.8K
10 сентября 2014 года
Kuzya
184 / / 19.03.2008
 
Код:
Дано трёхзначное число найти сумму его сотен , десятков и единиц
Наверно, ответ будет являтся тем же трёхзначным числом, например:
142 -> 100 + 40 + 2

а чтобы из 142 получилось 7, вопрос должен быть сформулирован, примерно так:

 
Код:
Дано трёхзначное число найти сумму его разрядов
Это конечно мелочи, но логика должна быть логичной :)
392
11 сентября 2014 года
cronya
421 / / 03.01.2009
Цитата: Kuzya
Это конечно мелочи, но логика должна быть логичной :)


Как понял так и написал, в любом случаи подход аналогичен, кому нужно тот доведет до ума. Не вижу смысл получать тоже число.
ЗЫ: Если, что разряды и есть то, какой пример вы привели. Для вас 142 = 1*10^2+4*10^1+2*10^0;
Радуйтесь вашему занудству!

Код:
#include <iostream>
#include <cstdlib>
#include <ctime>

using std::cout;
using std::endl;
using std::system;

int main()
{
    srand((unsigned)time(NULL));
    int first_value = 100;
    int range = rand() % 100;
    int numer = first_value + range;
    double summa = 0;  
    cout << "Number = " << numer << endl;
    for (int idx = 0; idx < 3; idx++)
    {
        int pos = (numer % 10);
        double pOn = pow(10, idx);
        double nPos = (double)pos * pOn;
        cout << idx << " number position is " << nPos << endl;
        summa += nPos;
        numer = numer / 10;
    }
    cout <<"Summa = "<< summa << endl;
    system("pause");
    return 0;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог