Другие языки программирования и технологии

Вопрос по С++ : Как определить количество цифр и букв в строчке.

Или по другому: Как определить что текущий элемент строчки является цифрой, буквой ,символом??? Спасибо за помощь!
#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')) ){
}

к примеру
Nadirchik Великолепный
Nadirchik Великолепный
2 683
Лучший ответ
#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;
}
то есть, помимо символа, вводится второй параметр - локаль, а в остальном - всё так же. желаю удачи
Stepan Onishkevich
Stepan Onishkevich
9 617
побайтно сравнивать строку до нуля (числового) , проверяя на промежутки в таблице символов. спроси у других, я на С не кодю
эдд: открой таблицу символов виндовс и глянь на промежутки номеров загл\строч букв, цифр, символов

Похожие вопросы