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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Hammer
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 9
#1

строки - C++

09.01.2012, 22:34. Просмотров 300. Ответов 3
Метки нет (Все метки)

как написать программу "Дана строка S, изображающая целое число. Вывести сумму цифр этого числа."
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
romedal
 Аватар для romedal
53 / 53 / 1
Регистрация: 18.03.2010
Сообщений: 345
Записей в блоге: 1
09.01.2012, 22:37     строки #2
Цитата Сообщение от Hammer Посмотреть сообщение
как написать программу "Дана строка S, изображающая целое число. Вывести сумму цифр этого числа."
Есть спец. функции, переводящие строки в число, а можно самому вручную распарсить... Начало есть ?
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.01.2012, 22:39     строки #3
C
1
2
3
4
5
6
7
int sum_dig ( char *s ) {
    int sum = 0;
    for ( ; *s ; ++s )
        if ( isdigit ( *s) ) 
            sum += *s - '0' ;
    return sum;
}
Hammer
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 9
09.01.2012, 22:51  [ТС]     строки #4
Цитата Сообщение от romedal Посмотреть сообщение
Есть спец. функции, переводящие строки в число, а можно самому вручную распарсить... Начало есть ?
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
#include <iostream>
 
using namespace std;
 
int main()
{
    string Num;
    int Sum = 0, n;
 
    cin>>Num;
 
    n = sizeof(Num);
 
    for (int i=0; i<n; i++){
 
        switch(Num[i]){
 
            case '0' : {Sum+=0; break;}
            case '1' : {Sum+=1; break;}
            case '2' : {Sum+=2; break;}
            case '3' : {Sum+=3; break;}
            case '4' : {Sum+=4; break;}
            case '5' : {Sum+=5; break;}
            case '6' : {Sum+=6; break;}
            case '7' : {Sum+=7; break;}
            case '8' : {Sum+=8; break;}
            case '9' : {Sum+=9; break;}
 
            default : {cout<<"Error!!! "<<Num[i]<<" - ne cifra\n";
                       return 0;
            }
        }
    }
    cout<<Sum;
 
    return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!


Есть другой способ для code blocks?
Yandex
Объявления
09.01.2012, 22:51     строки
Ответ Создать тему
Опции темы

Текущее время: 23:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru