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

Подсчитать количество цифр в заданном тексте - C++

Восстановить пароль Регистрация
 
Дмитрий Але
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 14
05.05.2011, 20:09     Подсчитать количество цифр в заданном тексте #1
Дан текст произвольной длины, оканчивающийся точкой с запятой. Подсчитать количество цифр в тексте.
Есть такой набросок:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <string.h>
 
int main()
{
int chislo=0; //считает количество цифр
int strl; //содержит длину строки
char stroka[512]; //хранит введенную строку
cin.getline(stroka,sizeof(stroka),' ;'); //сохраняет введенную строку в переменную strl
strl=strlen(stroka); //определяем длину строки
for (int i=0;i<strl;i++){ //запускаем цикл и пробегаем каждый символ строки
switch(stroka){ //если символ строки совпадает с одной из цифр, то
case'0':case'1':case'2':case'3':cas e'4':case'5':case'6':case'7':case'8 ':case'9': chislo++;break; //увеличиваем chislo на единицу
default:break; //если не совпало - увеличиваем i на единицу и переходим к след символу в строке
}
} //и так до последнего символа
 
cout<<"schislo= "<<chislo; //выводим кол-во цифр в строке
return 0; //конец программы
}
но надо другим методом как-то так

C++
1
if(str[i]>="0" && str<="9")...
не могу сообразить как..но думаю как-то заменив

C++
1
case
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2011, 20:09     Подсчитать количество цифр в заданном тексте
Посмотрите здесь:

C++ Дан текст произвольной длины, оканчивающийся точкой с запятой. Подсчитать количество цифр в тексте
C++ Подсчитать количество цифр в заданном натуральном числе.
C++ Написать функцию без параметров, которая подсчитывает количество цифр в тексте, заданном в текстовом файле (за текстом следует точка)
C++ Подсчитать количество цифр в тексте, записанного в файле.
C++ В созданном массиве строк, подсчитать в тексте количество слов, в которых нету цифр
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
05.05.2011, 20:19     Подсчитать количество цифр в заданном тексте #2
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
#include <iostream>
#include <string.h>
#include <ctype.h>
using namespace std;
 
int main()
{
int chislo=0; //считает количество цифр
int strl; //содержит длину строки
char stroka[512]; //хранит введенную строку
cin.getline(stroka,sizeof(stroka),';'); //сохраняет введенную строку в переменную strl
strl=strlen(stroka); //определяем длину строки
for (int i=0;i<strl;i++){ //запускаем цикл и пробегаем каждый символ строки
 if (isdigit (stroka [i]))
  chislo++;
} //и так до последнего символа
 
cout<<"schislo= "<<chislo; //выводим кол-во цифр в строке
 
 system ("PAUSE");
return 0; //конец программы
 
 
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
05.05.2011, 20:24     Подсчитать количество цифр в заданном тексте #3
kravam, для плюсов правильней же isdigit из locale взять, ctype к си относится вроде бы.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
05.05.2011, 20:30     Подсчитать количество цифр в заданном тексте #4
C++
1
2
3
std::string str;
getline(std::cin, str);
std::cout << std::count_if(str.begin(), str.end(), isdigit);
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
05.05.2011, 20:32     Подсчитать количество цифр в заданном тексте #5
Цитата Сообщение от kravam Посмотреть сообщение
#include <ctype.h>
используй
C++
1
#include <cctype>
Дмитрий Але
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 14
05.05.2011, 20:32  [ТС]     Подсчитать количество цифр в заданном тексте #6
Это все хорошо и ясно что можно двигаться по написанному варианту..
Но надо по теме "Последовательная обработка символьных данных",как то через кодировку символов..

Кодировка цифровых символов (символ и его числовой код):
'0' = 48
'1' = '0' + 1 = 49
'2' = '0' + 2 = 50
. . .
'9' = '0' + 9 = 57


s >= '0' && s <= '9‘
Коды заглавных латинских букв возрастают по алфавиту:
'A' = 65, 'B' = 66, 'С' = 67, …
'A' < 'B' < ... < 'Z' .

Коды строчных латинских букв также составляют возрастающую последовательность: 'a' = 97, 'b' = 98, 'с' = 99, …
'a' < 'b' < ... < 'z'.



как то опираясь на это..
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
05.05.2011, 20:37     Подсчитать количество цифр в заданном тексте #7
C++
1
2
3
4
5
6
const int LEN = str.length(); // + include <string>
int count = 0;
char ch;
for (int i = 0; i < LEN; i++)
  if ((str[i] >= '0') && (str[i] <= '9')) ++count;
std::cout << "Number of the digits: " << count;
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
05.05.2011, 21:09     Подсчитать количество цифр в заданном тексте #8
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main(){
    char *s="9tg&8(\\\"09";
    int cntr=0;
    for(; *s; ++s){
        if(*s>='0'&&*s<='9')++cntr;
    }
    std::cout<<cntr<<"\n";
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2011, 21:23     Подсчитать количество цифр в заданном тексте
Еще ссылки по теме:

Определить количество слов в заданном тексте и количество символов в каждом слове C++
C++ Рекурсия, подсчитать количество цифр в заданном целом числе
В заданном тексте (первая строка) подсчитать количество буквосочетания, введенного во второй строке C++

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

Или воспользуйтесь поиском по форуму:
Дмитрий Але
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 14
05.05.2011, 21:23  [ТС]     Подсчитать количество цифр в заданном тексте #9
интересный подход,щас посмотрим...спасибо!
Yandex
Объявления
05.05.2011, 21:23     Подсчитать количество цифр в заданном тексте
Ответ Создать тему
Опции темы

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