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

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

Войти
Регистрация
Восстановить пароль
 
Дмитрий Але
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 14
#1

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

05.05.2011, 20:09. Просмотров 929. Ответов 8
Метки нет (Все метки)

Дан текст произвольной длины, оканчивающийся точкой с запятой. Подсчитать количество цифр в тексте.
Есть такой набросок:

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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2011, 20:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчитать количество цифр в заданном тексте (C++):

Подсчитать общее количество букв в заданном тексте - C++
в заданном тексте подсчитайте общее кол-во букв &quot;х&quot; и &quot;у&quot; помогите пожалуйста(

Подсчитать количество встретившихся в тексте цифр - C++
Подсчитать количество встретившихся в тексте цифр

Во введенном тексте подсчитать количество цифр - C++
Задание звучит так - &quot;Ввести с клавиатуры несколько строк, состоящих из латинских букв, цифр и знаков препинания, признаком конца ввода...

Подсчитать количество цифр в заданном натуральном числе. - C++
Подсчитать количество цифр в заданном натуральном числе. (как можно понятнее и проще, если можно)

В заданном тексте (первая строка) подсчитать количество буквосочетания, введенного во второй строке - C++
В заданном тексте (первая строка) подсчитать количество буквосочетания, введенного во второй строке. Помогите ,пожалуйста!Заранее...

Подсчитать количество цифр в тексте, записанного в файле. - C++
Необходимо подсчитать количество цифр в тексте. Текст записан в файле. Результат вывести на экран и в файл. Добавлено через 40 минут ...

8
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,508
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; //конец программы
 
 
}
1
neske
1508 / 875 / 84
Регистрация: 26.03.2010
Сообщений: 2,987
05.05.2011, 20:24 #3
kravam, для плюсов правильней же isdigit из locale взять, ctype к си относится вроде бы.
1
asics
Freelance
Эксперт С++
2853 / 1788 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
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);
1
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
05.05.2011, 20:32 #5
Цитата Сообщение от kravam Посмотреть сообщение
#include <ctype.h>
используй
C++
1
#include <cctype>
1
Дмитрий Але
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'.



как то опираясь на это..
0
neske
1508 / 875 / 84
Регистрация: 26.03.2010
Сообщений: 2,987
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;
1
igorrr37
1712 / 1340 / 162
Регистрация: 21.12.2010
Сообщений: 2,054
Записей в блоге: 10
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;
}
1
Дмитрий Але
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 14
05.05.2011, 21:23  [ТС] #9
интересный подход,щас посмотрим...спасибо!
0
05.05.2011, 21:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2011, 21:23
Привет! Вот еще темы с ответами:

Рекурсия: подсчитать количество цифр в заданном натуральном числе - C++
Доброго времени суток. Задание было такое: Тема - Рекурсивные функции пользователя. Подсчитать количество цифр в заданном натуральном...

Рекурсия, подсчитать количество цифр в заданном целом числе - C++
Подсчитать количество цифр в заданном целом числе n

Подсчитать количество цифр k в заданном натуральном числе, где k – случайная цифра - C++
Дано натуральное число n. Подсчитать количество цифр k в числе, где k – случайное число.(л3,з2)

В созданном массиве строк, подсчитать в тексте количество слов, в которых нету цифр - C++
В созданном массиве строк, подсчитать в тексте количество слов, в которых нету цифр


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

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

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