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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
J__S(Юляшка)
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 22
#1

Посчитать сумму всех цифр,входящих в текст - C++

13.02.2010, 10:50. Просмотров 1108. Ответов 15
Метки нет (Все метки)

Дан текст.Посчитать сумму всех цифр,входящих в текст.
Пример. Если к 12 прибавить 2,то получим 14.
Результат.10
Пояснение 1+2+2+1+4=10
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2010, 10:50     Посчитать сумму всех цифр,входящих в текст
Посмотрите здесь:
Посчитать сумму цифр всех целых чисел 1 до n C++
Дана последовательность чисел. Посчитать сумму цифр десятичной записи всех отрицательных чисел C++
Строки. Программа печати в возрастающем порядке всех цифр, входящих в запись числа C++
Посчитать сумму цифр и сумму делителей данного целого числа C++
C++ Обработка строк. Печать по одному разу в алфавитном порядке всех строчных гласных русских букв, входящих в текст
C++ Нуэно посчитать сумму всех строк матрицы, у меня считает только сумму одной строки
C++ Определить количество цифр в числе n и сумму всех его цифр
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
13.02.2010, 12:51     Посчитать сумму всех цифр,входящих в текст #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <ctype.h>
 
int main(void){
  int sum = 0;
  char *str = "1+2+2+1+4=", *p;
 
  for ( p = str; *p; ++p )
    if ( isdigit(*p) )
      sum += *p - '0';
 
  printf("%s%d\n", str, sum);
 
  return 0;
}
Не проверял, но тут вроде и ошибаться-то негде...
J__S(Юляшка)
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 22
13.02.2010, 12:55  [ТС]     Посчитать сумму всех цифр,входящих в текст #3
Спасибо!!))Ну тут немного постановка задачи немного другая....
Типа ввести любой текст и сумму цифр этих надо вывести на экран...
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
13.02.2010, 13:04     Посчитать сумму всех цифр,входящих в текст #4
J__S(Юляшка), ну это гораздо сложнее!

C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <string.h>
...
char str[BUFSIZ], *p;
 
if ( !fgets(str, BUFSIZ, stdin) )
  return 1;
if ( p = strrchr(str, '\n') )
  *p = '\0';
if ( !*str )
  return 1;
...
printf("Text: %s\nSum of digits: %d\n", str, sum);
...
J__S(Юляшка)
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 22
13.02.2010, 13:09  [ТС]     Посчитать сумму всех цифр,входящих в текст #5
Спасибки!!!)))))
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.02.2010, 20:44     Посчитать сумму всех цифр,входящих в текст #6
спасибки надо нажимать, а не просто говорить.
insideone
Модератор
Автор FAQ
3636 / 914 / 49
Регистрация: 10.01.2010
Сообщений: 2,465
17.02.2010, 20:47     Посчитать сумму всех цифр,входящих в текст #7
спасибки надо нажимать, а не просто говорить.

Не по теме:

Тонкий намек аля "одмин конфеты не пьет"?

J__S(Юляшка)
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 22
17.02.2010, 20:47  [ТС]     Посчитать сумму всех цифр,входящих в текст #8
Да ладно...)))
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.02.2010, 20:49     Посчитать сумму всех цифр,входящих в текст #9
Не по теме:
Тонкий намек аля "одмин конфеты не пьет"?
Спасибки это бесплатный фриланс
J__S(Юляшка)
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 22
17.02.2010, 20:49  [ТС]     Посчитать сумму всех цифр,входящих в текст #10
кстати,та в этой программке есть где-то косяк...выдает отрицательное число и не то которое должно получится..
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.02.2010, 20:51     Посчитать сумму всех цифр,входящих в текст #11
J__S(Юляшка)
Программист это художник, а косяки дело тестера.
J__S(Юляшка)
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 22
17.02.2010, 21:02  [ТС]     Посчитать сумму всех цифр,входящих в текст #12
в том то и дело,тестер посылает куда подальше..
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.02.2010, 21:17     Посчитать сумму всех цифр,входящих в текст #13
кстати,та в этой программке есть где-то косяк...выдает отрицательное число и не то которое должно получится..
Приведите пример: что набираете...

Добавлено через 19 секунд
Один-два достаточно.
J__S(Юляшка)
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 22
17.02.2010, 21:21  [ТС]     Посчитать сумму всех цифр,входящих в текст #14
пример:если к 12 прибавить 2 то получиться 14
выдает ответ -1091
J__S(Юляшка)
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 22
17.02.2010, 21:46  [ТС]     Посчитать сумму всех цифр,входящих в текст #15
Да все я разобралась ...работает...там прость в if надо задать промежуток таблицы ASCII, от 48 до 57, и отнимать тогда будем не 0,а 48...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2010, 23:17     Посчитать сумму всех цифр,входящих в текст
Еще ссылки по теме:
C++ Вычислить общую сумму всех четных цифр во всех нечетных элементах
C++ Посчитать сумму цифр double
Посчитать сумму цифр в строке C++
Посчитать количество цифр во всех номерах этажей многоэтажного здания C++
Вывести текст на экран подсчитыать сумму цифр в тексте, записать сумму в файл C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
17.02.2010, 23:17     Посчитать сумму всех цифр,входящих в текст #16
Цитата Сообщение от J__S(Юляшка) Посмотреть сообщение
кстати,та в этой программке есть где-то косяк...выдает отрицательное число и не то которое должно получится..
Может скопировали что-то не так? Вот целиком програмка Ваша:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
 
int main(void){
    char buf[BUFSIZ], *p;
    int sum;
    
    while ( 1 ) {
        printf("String: ");
        if ( !fgets(buf, BUFSIZ, stdin) )
            exit(1);
        if ( *buf == '\n' )
            break;
        for ( sum = 0, p = buf; *p; ++p )
            if ( isdigit(*p) )
                sum += *p - '0';
        printf("Sum of digits in string is %d\n", sum);
    }
    
    exit(0);
}
Учитывая, что BUFSIZ имеет достаточно большое для длины строки значение, к примеру у меня в debian linux оно 8192, если ввести 8191 девятку (помним про '\0' в конце строки), в результате будет 73719, переменной типа int для sum вполне достаточно.
Посчитать сумму всех цифр,входящих в текст
Yandex
Объявления
17.02.2010, 23:17     Посчитать сумму всех цифр,входящих в текст
Ответ Создать тему
Опции темы

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