Другие языки программирования и технологии
Вопрос по С++ : Как определить количество цифр и букв в строчке.
Или по другому: Как определить что текущий элемент строчки является цифрой, буквой ,символом??? Спасибо за помощь!
#include <string.h>
...
int counter=0;
for (int i=0; i<strlen(s);>='0')) if ((s[ i ]<='9') && (s[ i ]>='0')) counter++;
int counter=0;
for (int i=0; i<strlen(s);>='0')) if ( ((s[ i ]<='z') && (s[ i ]>='a')) || ((s[ i ]<='Z') && (s[ i ]>='A')) ) counter++;
или по другому
if ((s[ i ]<='9') && (s[ i ]>='0')){
}
if ( ((s[ i ]<='z') && (s[ i ]>='a')) || ((s[ i ]<='Z') && (s[ i ]>='A')) ){
}
к примеру
...
int counter=0;
for (int i=0; i<strlen(s);>='0')) if ((s[ i ]<='9') && (s[ i ]>='0')) counter++;
int counter=0;
for (int i=0; i<strlen(s);>='0')) if ( ((s[ i ]<='z') && (s[ i ]>='a')) || ((s[ i ]<='Z') && (s[ i ]>='A')) ) counter++;
или по другому
if ((s[ i ]<='9') && (s[ i ]>='0')){
}
if ( ((s[ i ]<='z') && (s[ i ]>='a')) || ((s[ i ]<='Z') && (s[ i ]>='A')) ){
}
к примеру
#include <locale.h>
isalnum(c) - true, если c - цифра или буква
isalpha(c) - true, если c - буква
isdigit(c) - true, если c - цифра
но это, правда, стандартная библиотека С, оставленная в C++ для совместимости, и с русскими буквами может не прокатить. а в C++ чуть-чуть по-другому:
#include <locale>
#include <iostream>
using namespace std;
void main()
{
locale loc("rus");
const string str = "Открытые вопросы: 128 906";
int count = 0;
for (string::const_iterator i = str.begin(); i != str.end(); i++)
{
char c = *i;
if (isalnum(c, loc))
count++;
}
cout << count;
}
то есть, помимо символа, вводится второй параметр - локаль, а в остальном - всё так же. желаю удачи
isalnum(c) - true, если c - цифра или буква
isalpha(c) - true, если c - буква
isdigit(c) - true, если c - цифра
но это, правда, стандартная библиотека С, оставленная в C++ для совместимости, и с русскими буквами может не прокатить. а в C++ чуть-чуть по-другому:
#include <locale>
#include <iostream>
using namespace std;
void main()
{
locale loc("rus");
const string str = "Открытые вопросы: 128 906";
int count = 0;
for (string::const_iterator i = str.begin(); i != str.end(); i++)
{
char c = *i;
if (isalnum(c, loc))
count++;
}
cout << count;
}
то есть, помимо символа, вводится второй параметр - локаль, а в остальном - всё так же. желаю удачи
побайтно сравнивать строку до нуля (числового) , проверяя на промежутки в таблице символов. спроси у других, я на С не кодю
эдд: открой таблицу символов виндовс и глянь на промежутки номеров загл\строч букв, цифр, символов
эдд: открой таблицу символов виндовс и глянь на промежутки номеров загл\строч букв, цифр, символов
Похожие вопросы
- Дано число типа longint определить количество цифр в этом числе. Очень срочно!
- программа для заполнения диска беспорядочным набором цифр и букв
- QBasic . Определить количество слов в предложении. Количество слов заканчивающихся согласной и содержащих буквы Л или Д.
- Вводится целое положительное число. Определить количество чётных и нечётных цифр в числе в Си++
- Дано натуральное число. Определить количество его цифр, кратных z. Написать в Паскаль
- ассемблер. задача. в строке определить позицию первого вхождения букве z
- ПАСКАЛЬ. Необходимо определить количество пар, для которых произведение элементов делится на 26 или на 33.
- Перебрать все числа с цифрами 1 и 2 до n-ного количества цифр.
- У меня очень часто отключается комп!(Появляется синий экран и много цифр и букв!Потом он перезагружается!Что мне делать?
- Дан массив размера N.Определить количество его промежутков монотонности.