С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

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

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

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

Дано строку. Подсчитать количество содержащихся в ней цифр - C++
Дано строку. Подсчитать количество содержащихся в ней цифр. Добавлено через 2 часа 27 минут Вот программа на паскале помогите в С++...

13
Alex566
240 / 152 / 18
Регистрация: 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
119 / 119 / 23
Регистрация: 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
822 / 480 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
23.01.2014, 10:06 #4
Цитата Сообщение от Iren1 Посмотреть сообщение
Дана строка. Подсчитать количество цифр, содержащихся в ней.
std::isdigit() из cctype
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
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
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 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
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
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, у меня нормально работает
Ай... Мир не справедлив
Ну да ладно главное, что помог... будем надеяться...

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
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
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
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,250
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
Привет! Вот еще темы с ответами:

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

Дана строка: предложение на русском языке. Подсчитать количество содержащихся гласных букв - C++
Пример в паскале(рабочий) program st; var S:String; i,Num:integer; begin Write('S: '); Readln(S);

Дана строка.Подсчитать в ней количество вхождений букв f,k,t. - C++
Дана строка.Подсчитать в ней количество вхождений букв f,k,t.

3. Дана символьная строка. Подсчитать в ней количество вхождений букв r, k, t. - C++
3. Дана символьная строка. Подсчитать в ней количество вхождений букв r, k, t. у кого какие идеи??


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

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

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