Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Iren1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 91
1

Дана строка. Подсчитать количество цифр, содержащихся в ней

23.01.2014, 03:18. Просмотров 1225. Ответов 13
Метки нет (Все метки)

Дана строка. Подсчитать количество цифр, содержащихся в ней.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2014, 03:18
Ответы с готовыми решениями:

Дана строка. Подсчитать количество содержащихся в ней цифр
Дана строка. Подсчитать количество содержащихся в ней цифр. с++

Дана строка. Подсчитать количество содержащихся в ней цифр
Дана строка. Подсчитать количество содержащихся в ней цифр.

Дана строка. Подсчитать количество содержащихся в ней цифр
Дана строка. Подсчитать количество содержащихся в ней цифр Ничего сложного и...

Дана строка, подсчитать количество содержащихся в ней строчных букв
Дана строка, подсчитать количество содержащихся в ней строчных букв.

Дана строка. Подсчитать общее количество содержащихся в ней строчных латинских и русских букв
Дана строка. Подсчитать общее количество содержащихся в ней строчных латинских...

13
Alex566
242 / 154 / 47
Регистрация: 03.04.2013
Сообщений: 317
23.01.2014, 03:38 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main()
{
    char str[255];
    short int c = 0;
    cout << "Input string - ";
    cin.getline(str, 255);
    for (int i = 0; str[i] != 0; i++)
        if (str[i] > 47 && str[i] < 58)
            c++;
    cout << "Count of numbers = " << c << endl;
    system("pause");
    return 0;
}
1
bradobrei
Продам уран 238U
120 / 120 / 126
Регистрация: 22.01.2013
Сообщений: 298
23.01.2014, 08:03 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int main(){
    char str[] = "weuk23 h  2 3j4 1  56l 0 12 w !!";
    int count = 0;
    for(int i = 0; str[i]; i++){
        if(str[i] >= '0' && str[i] <= '9')
            count ++;
    }
    cout<<count;
return 0;
}
1
MicM
824 / 483 / 324
Регистрация: 29.12.2009
Сообщений: 1,106
Завершенные тесты: 1
23.01.2014, 10:06 4
Цитата Сообщение от Iren1 Посмотреть сообщение
Дана строка. Подсчитать количество цифр, содержащихся в ней.
std::isdigit() из cctype
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5117 / 1555 / 950
Регистрация: 23.01.2011
Сообщений: 3,185
Завершенные тесты: 1
23.01.2014, 10:58 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <algorithm>
#include <iostream>
#include <cctype>
#include <string>
 
int main()
{
    std::string string;
    std::cout << "Input the string: " << std::endl;
    std::getline(std::cin, string);
    std::cout << "Digits in the string: " << std::count_if(string.begin(), string.end(), isdigit) << std::endl;
    
    std::system("pause");
    return 0;
}
1
Ilot
Эксперт С++
1831 / 1189 / 342
Регистрация: 16.05.2013
Сообщений: 3,139
Записей в блоге: 5
Завершенные тесты: 1
23.01.2014, 11:27 6
Гипотетически можно так:
C++
1
2
3
4
5
6
7
8
9
#include<iostream>
#include<algorithm>
#include<iterator>
int main()
{
    std::cout << std::count_if(std::istream_iterator<char>(std::cin),
                       std::istream_iterator<char>(), isdigit) << std::endl;
    return 0;
}
Только почему-то у меня итератор first при достижении окончания потока возвращает итератор не равный созданному по умочанию и как следствие алгоритм "виснет". Может кто из знающих подскажет в чем дело?
1
ValeryS
23.01.2014, 11:29
  #7

Не по теме:

Цитата Сообщение от Alex566 Посмотреть сообщение
C++
1
c++;
уж больно на названия языка смахивает:)

0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5117 / 1555 / 950
Регистрация: 23.01.2011
Сообщений: 3,185
Завершенные тесты: 1
23.01.2014, 11:33 8
Ilot, у меня нормально работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <algorithm>
#include <iterator>
#include <iostream>
#include <cctype>
 
int main()
{
    std::cout << std::count_if(std::istream_iterator<char>(std::cin), std::istream_iterator<char>(), isdigit) << std::endl;
    
    std::system("pause");
    return 0;
}
2
Ilot
23.01.2014, 11:35
  #9

Не по теме:

Цитата Сообщение от Ev[G]eN Посмотреть сообщение
Ilot, у меня нормально работает
Ай... Мир не справедлив:D
Ну да ладно главное, что помог... будем надеяться...

0
Iren1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 91
23.01.2014, 13:19  [ТС] 10
спасибо вам. а можно вопрос.. я взяла 1 сам код. он мне более понятен))

но почему там
C
1
  for (int i = 0; str[i] != 0; i++)
нельзя ли просто записать
C
1
  for (int i = 0; str[i]; i++)
??
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5117 / 1555 / 950
Регистрация: 23.01.2011
Сообщений: 3,185
Завершенные тесты: 1
23.01.2014, 13:21 11
можно
1
Iren1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 91
23.01.2014, 13:24  [ТС] 12
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
можно
а разницы нет не какой?
0
ValeryS
Модератор
7265 / 5519 / 692
Регистрация: 14.02.2011
Сообщений: 18,694
23.01.2014, 13:31 13
Цитата Сообщение от Iren1 Посмотреть сообщение
а разницы нет не какой?
с точки зрения логики программы никакой
с точки зрения программиста как кому удобней
можно еще так
C++
1
str[i] != '\0'
некоторым больше нравится
и может уберечь от ошибок, если вздумают в конце строки не 0 писать а что то другое, но это вряд ли
'\0' все таки не ноль, хотя он и равен 0, а признак конца строки
0
Iren1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 91
23.01.2014, 13:35  [ТС] 14
ясно. спасибо
0
23.01.2014, 13:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2014, 13:35

Вводится строка. Подсчитать сумму цифр, содержащихся в ней
Вводится строка. Подсчитать сумму цифр, содержащихся в ней.

Дано строку. Подсчитать количество содержащихся в ней цифр
Дано строку. Подсчитать количество содержащихся в ней цифр. Добавлено через...

Дана строка. Подсчитать количество букв, содержащихся в строке
Дана строка. Подсчитать количество букв, содержащихся в строке.


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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