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

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

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

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

19.12.2009, 13:34. Просмотров 4923. Ответов 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;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2009, 13:34     Количество цифр в строке
Посмотрите здесь:

Вычислить количество цифр в заданной строке C++
C++ Количество слов и цифр в строке, и последовательность
C++ Рекурсивно вычислить количество цифр в строке
C++ Посчитать количество цифр в строке
C++ Посчитать количество цифр и букв в строке
Cтроки (подсчитать количество цифр в произвольной строке) C++
Подсчитать количество цифр в строке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.12.2009, 13:43     Количество цифр в строке #2
OVERPOWER8, А как проявляется что неправильно работает? Запускал ваш код, выдает нужный результат.
Harlequin
 Аватар для Harlequin
41 / 41 / 4
Регистрация: 08.11.2009
Сообщений: 167
19.12.2009, 13:46     Количество цифр в строке #3
OVERPOWER8, может у тебя проект юникодный?
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2297 / 1667 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.12.2009, 13:47     Количество цифр в строке #4
Что означает не работает?
Только что проверил-все работает.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
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++))
вы уверены, что указатель не уйдет за пределы масива?
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
19.12.2009, 14:43  [ТС]     Количество цифр в строке #6
НЕ работает, т. к. указатель выходит за пределы массива!

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

Это заметил outoftime.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 15:00     Количество цифр в строке #7
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
НЕ работает, т. к. указатель выходит за пределы массива!
странно, почему тогда говорят что результат верен? может компилятор по своему компилит..
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
19.12.2009, 15:07  [ТС]     Количество цифр в строке #8
Извиняюсь, код правильный, просто не с того файла скопировал...
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 15:12     Количество цифр в строке #9
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
Извиняюсь, код правильный, просто не с того файла скопировал...
так все-же он коректный?
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
19.12.2009, 15:14  [ТС]     Количество цифр в строке #10
Да, именно.
Андрейка
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;
}
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 15:43     Количество цифр в строке #12
Андрейка, и оно пашет??
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2297 / 1667 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.12.2009, 16:04     Количество цифр в строке #13
outoftime, конечно работает, почему бы ему не работать. Почему ты сомневаешься?

Правда я не совсем понял почему std::basic_string.
Почему не std::string? Понятно дело что те же яйца, только в профиль, но как то оно привычнее.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2009, 17:52     Количество цифр в строке
Еще ссылки по теме:

Количество цифр в строке C++
C++ Подсчитать количество букв, слов и цифр в строке
Подсчитать количество цифр в введенной строке C++
Подсчитать в ней количество цифр в заданной строке C++
Подсчитать количество цифр в строке C++

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

Или воспользуйтесь поиском по форуму:
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
19.12.2009, 17:52     Количество цифр в строке #14
CyBOSSeR, да можно конечно std::string но это слишком банально))
Yandex
Объявления
19.12.2009, 17:52     Количество цифр в строке
Ответ Создать тему
Опции темы

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