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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.89
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
#1

Количество цифр в строке - C++

19.12.2009, 13:34. Просмотров 5747. Ответов 13
Метки нет (Все метки)

Написал программу, которая вычисляет количество цифр в строке.
Но программа не работает.

Что не правильно?

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
38
39
40
41
42
43
44
45
46
47
#include <iostream>
 
#include <ctype.h>
 
using namespace std;
 
 
 
int NumOfDigits(char* str)
 
{
 
    int count = 0;
 
    while(*str !=0)
 
    {
 
        if(isdigit(*str++))
 
            count++;
 
    }
 
    return count;
 
}
 
 
 
int main()
 
{
 
    char numbers[] = "874";
 
    
 
    int res = NumOfDigits(numbers);
 
    
 
    cout << res << endl;
 
    return 0;
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2009, 13:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество цифр в строке (C++):

Подсчитать общее количество цифр и количество единиц в строке - C++
Вводится текст. Среди символов этого текста имеется несколько цифр. Подсчитать общее количество цифр и количество единиц в строке. Если в...

Количество цифр в строке - C++
Задание: Дана строка. Подсчитать количество содержащихся в ней цифр. int countDigits(char * str); Не хочет вводится строка с помощью...

Посчитать количество цифр в строке - C++
Как посчитать количество цифр(функция void count)? Написал вот так, что в цикле писать(как передать массив в цикл)#include &lt;iostream&gt; ...

Подсчитать количество цифр в строке - C++
Найти количество цифр в строке

Подсчитать количество цифр в строке - C++
???Ввести строку состоящую из цыфр и букв,и посчитать колтчество цыфр(быквы не должно брать считать к количеству)!

Подсчитать количество цифр в введенной строке - C++
Прошу помочь найти ошибку в данном коде. Условие:с клавиатуры в строку вводятся числа и символы.подсчитать количество цифр в строке ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.12.2009, 13:43 #2
OVERPOWER8, А как проявляется что неправильно работает? Запускал ваш код, выдает нужный результат.
0
Harlequin
41 / 41 / 4
Регистрация: 08.11.2009
Сообщений: 167
19.12.2009, 13:46 #3
OVERPOWER8, может у тебя проект юникодный?
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.12.2009, 13:47 #4
Что означает не работает?
Только что проверил-все работает.
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
19.12.2009, 13:49 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string k;
    int b = 0;
    cin >> k;
    for (int i = 0; i < k.size(); ++i)
        if (isdigit(k[i])) ++b;
    cout << b << endl;
    system("pause");
    return 0;
}
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
if(isdigit(*str++))
вы уверены, что указатель не уйдет за пределы масива?
0
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
19.12.2009, 14:43  [ТС] #6
НЕ работает, т. к. указатель выходит за пределы массива!

Прошу внимательнее пересмотреть мой код.

Это заметил outoftime.
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
19.12.2009, 15:00 #7
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
НЕ работает, т. к. указатель выходит за пределы массива!
странно, почему тогда говорят что результат верен? может компилятор по своему компилит..
0
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
19.12.2009, 15:07  [ТС] #8
Извиняюсь, код правильный, просто не с того файла скопировал...
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
19.12.2009, 15:12 #9
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
Извиняюсь, код правильный, просто не с того файла скопировал...
так все-же он коректный?
0
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
19.12.2009, 15:14  [ТС] #10
Да, именно.
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
19.12.2009, 15:17 #11
OVERPOWER8,
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std::basic_string <char> str = "aaa1123";
    std::cout << std::count_if(str.begin(), str.end(), isdigit) << std::endl;
    system("pause");
    return 0;
}
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
19.12.2009, 15:43 #12
Андрейка, и оно пашет??
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.12.2009, 16:04 #13
outoftime, конечно работает, почему бы ему не работать. Почему ты сомневаешься?

Правда я не совсем понял почему std::basic_string.
Почему не std::string? Понятно дело что те же яйца, только в профиль, но как то оно привычнее.
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
19.12.2009, 17:52 #14
CyBOSSeR, да можно конечно std::string но это слишком банально))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2009, 17:52
Привет! Вот еще темы с ответами:

Количество слов и цифр в строке, и последовательность - C++
Помогите, осталось решить всего 2 задачи из 10 заданных)) :) Нужно дописать решение, но чтобы его принимал компилятор BORLANDC, потому...

Посчитать количество цифр и букв в строке - C++
срочно. прошу вашу помощь_)) во введенной строке символов, заканчивающихся $. посчитать общее количество цифр и букв S. на с++.

Вычислить количество цифр в заданной строке - C++
Добрий день товарищи!!! Помогите написать програму... Написать программу, которая вычисляет количество цифр в заданной строке.

Рекурсивно вычислить количество цифр в строке - C++
Задача: Разработать рекурсивную функцию, возвращающую значение: для вычисления количества цифр в строке; с помощью данной функции...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.12.2009, 17:52
Ответ Создать тему
Опции темы

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