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

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

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

Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму - C++

20.11.2012, 11:49. Просмотров 867. Ответов 10
Метки нет (Все метки)

Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2012, 11:49     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму
Посмотрите здесь:

C++ Определить: а) Есть ли в нем цифра 3; б) Есть ли цифры 2 и 5
Есть натуральное число n. Проверить, есть ли в том числе 3 одинаковых цифры C++
В пятиугольнике, заданном координатами своих вершин, подсчитать количество прямых углов (если они есть). C++
Определить, есть ли такая фирма, у которой все 5 лет наблюдался рост производства и, если есть, то каков её номер C++
В предложении удалить первое вхождение “w”, если такое есть C++
C++ Определить, есть ли в заданном массиве мажоруючий элемент
C++ Узнать, есть ли среди элементов массива элементы с нечетными номерами, которые кратны 17, и если есть, посчитать их сумму
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1284 / 946 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
20.11.2012, 12:31     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream> 
 
int main() 
{   
  char str[] = "asasdasd1asdsadas2sadsad3asdas4t"; 
  int size = strlen(str); 
  int i; 
  int sum = 0; 
 
  for ( i = 0; i < size; ++i) 
      if(isdigit(str[i])) 
          sum = sum + atoi(&str[i]); 
  std::cout << "Summa is " << sum << std::endl;
}
Betokuha
 Аватар для Betokuha
32 / 29 / 9
Регистрация: 05.03.2012
Сообщений: 114
20.11.2012, 12:38     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму #3
David Sylva, можете обяснить эти функции? isdigit, atoi
David Sylva
 Аватар для David Sylva
1284 / 946 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
20.11.2012, 12:42     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму #4
Почитай там всё понятно изложено.
isdigit http://www.cplusplus.com/reference/c...ctype/isdigit/
atoi http://www.cplusplus.com/reference/c.../cstdlib/atoi/
Байт
Эксперт C
 Аватар для Байт
15090 / 9492 / 1395
Регистрация: 24.12.2010
Сообщений: 17,578
20.11.2012, 13:19     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму #5
David Sylva, строка "А123" даст по вашему алгоритму 149. А должна дать 6
C
1
  if (str[i] <='9' && str[i]>='0') { sum += str[i] - '0'; flagCifr = 1; }
(цифры могут быть, а их сумма == 0)
David Sylva
 Аватар для David Sylva
1284 / 946 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
20.11.2012, 13:53     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму #6
Байт спасибо, автору темы предлагаю вот такой код
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 <iostream> 
 
int main() 
{   
  char str[] = "A123"; 
  int size = strlen(str); 
  int i, number, x;
  int sum = 0; 
 
  for ( i = 0; i < size; ++i) 
      if(isdigit(str[i])) 
      {
         number = atoi(&str[i]); 
         while(number) 
         { 
             if(number / 10 == 0) 
                 x = number; 
             number /= 10; 
         } 
         sum += x; 
      } 
      std::cout << "Sum is " << sum << std::endl;
}
Байт
Эксперт C
 Аватар для Байт
15090 / 9492 / 1395
Регистрация: 24.12.2010
Сообщений: 17,578
20.11.2012, 14:09     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму #7
David Sylva, Увы! Так получится 12. Давайте попробуем так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream> 
 int main() 
{   
  char str[] = "A123"; 
  int size = strlen(str); 
  int i;
  int sum = 0, Flag=0; 
 
  for ( i = 0; i < size; ++i) 
      if(isdigit(str[i]))   {
         sum += str[i] - '0';
         Flag = 1;
      } 
   }
      if (Flag) {
        std:;cout << "Цифры есть" << std:;endl;
        std::cout << "Sum is " << sum << std::endl;
      }
       else std;;cout<< "Цифр нет" << std::endl;
}
Betokuha,
Макрос isdigit(a) проверяет, является ли символ a цифрой.
Одно из возможных определений
C
1
 #define isdigit(a) ('0' <= a && a <='9') ? 1 : 0;
Добавлено через 3 минуты
David Sylva, Извиняюсь. У вас все правильно. Я не обратил внимания, что вы берете старшую цифру. Но и мой код как-будто должен работать...
David Sylva
 Аватар для David Sylva
1284 / 946 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
20.11.2012, 14:10     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму #8
Цитата Сообщение от Байт Посмотреть сообщение
David Sylva, Извиняюсь. У вас все правильно. Я не обратил внимания, что вы берете старшую цифру. Но и мой код как-будто должен работать...

Не по теме:

А я уже хотел возмущаться

Lermontove
 Аватар для Lermontove
2 / 2 / 0
Регистрация: 20.11.2012
Сообщений: 5
20.11.2012, 16:00     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму #9
Я новичок в программировании,но у меня вышел такой код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include "iostream"
 
using namespace std;
int main()
{
    char *s = "ABC999";
    int a=0;
    while(*s)
    {
    if(*s >= '0' && *s <='9')
    {
        a = ((*s)-'0')+a;
    }
    s++;
    }
    cout << a;
    getchar();
    return 0;
}
Рационален?
David Sylva
 Аватар для David Sylva
1284 / 946 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
20.11.2012, 16:21     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму #10
Цитата Сообщение от Lermontove Посмотреть сообщение
Рационален?
Да вполне.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 19:40     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму
Еще ссылки по теме:

В предложении S1 найти все слова, которые есть в предложении S2 C++
Определить есть ли равные цифры в числе C++
Надо организовать проверку на введенную строку, если есть цифры то должно вывести ошибку C++
C++ Определить, есть ли в заданном натуральном числе указанные цифры
C++ Определить, есть ли в заданном числе указанная цифра

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

Или воспользуйтесь поиском по форуму:
Kastofan
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 4
27.11.2012, 19:40  [ТС]     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму #11
всем огромное спасибо!)
Yandex
Объявления
27.11.2012, 19:40     Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму
Ответ Создать тему
Опции темы

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