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

Пользователь вводит строку. Определить количество букв (рус eng), количество цифр и количество остальных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти минимальное время, за которое можно поджарить все котлеты http://www.cyberforum.ru/cpp-beginners/thread1496784.html
Добрый день, хочу представить вашему вниманию небольшую задачку: На сковородке одновременно можно положить k котлет. Каждую котлету нужно с каждой стороны обжаривать m минут непрерывно. За какое...
C++ ТЕСТЫ Типы данных на С Какой тип машинно-зависимый А. unsigned long Б. unsigned char В. unsigned int Г. unsigned short Д. unsigned long long Какой тип машинно-независимый А. unsigned Б. double http://www.cyberforum.ru/cpp-beginners/thread1496773.html
Чем отличается функция с __stdcall и без C++
Что такое __stdcall? Прочитал на msdn ниче не ясно, чем отличается функция с __stdcall и без. Вот например код: #include <iostream> using std::cout; //создадим свой макрос int __stdcall f1(int...
Найти суму ряда не понятное условие C++
Нужно найти конечную суму ряда, считать, что n уже ввели. Пересмотрел весь форум, подобное есть, но не совсем то.
C++ Макрос который создает класс http://www.cyberforum.ru/cpp-beginners/thread1496759.html
Создал макрос который создает класс, но почему то он не работает, инициализация класса не происходит???? #include <iostream> using std::cout; //создадим свой макрос #define MY_MACROS(a, b) \...
C++ Ошибка при компиляции Всем привет. Сценарий такой. Пишу код для проверки даты. Когда пытаюсь скомпилировать мне выдает ошибку Unable to perform link. Самое интересное то, что когда создаю новый проект, вставляю код и жму... подробнее

Показать сообщение отдельно
Геомеханик
666 / 472 / 333
Регистрация: 26.06.2015
Сообщений: 1,104
10.07.2015, 21:04
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
#include <iostream>
#include <cctype>
#include <locale.h>
using namespace std;
#define DIGITS  0
#define ENG     1 
#define RUS     2
#define OTHER   3
 
void counter(const char* s, size_t arr[]){
    const unsigned char* p = (const unsigned char*)s;
 
    while(*p){
        if(isdigit(*p))
            ++arr[DIGITS];
        else if(isalpha(*p)){
            if(*p <= 'z')
                ++arr[ENG];
            else
                ++arr[RUS];
        } else
            ++arr[OTHER];
        ++p;
    }
}
 
int main(void){
    setlocale(LC_CTYPE, "Russian_Russia.1251");
 
    char s[] = "Русских букв [123] ABCDEF 456789";
 
    size_t arr[4] = {0};
    counter(s, arr);
 
    cout << "digits: " << arr[DIGITS] << endl
         << "ch eng: " << arr[ENG]    << endl
         << "ch rus: " << arr[RUS]    << endl
         << "other:  " << arr[OTHER]  << endl; 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru