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

Не подсчитывает русские символы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Код стандартных функций http://www.cyberforum.ru/cpp-beginners/thread773215.html
Добрый вечер. Подскажите пожалуйста как просмотреть код библиотечной функции? Интересуют функции cin i cout.
C++ Вычислить произведение всех столбцов массива, у которых первый элемент больше элементов расположенных на глав- ной и побочной диагонали Здравствуйте! Помогите пожалуйста. Нужно написать алгоритм на C++. >>Вычислить произведение всех столбцов массива, у которых первый элемент больше элементов расположенных на глав- ной и побочной диагонали.<< Есть код, но, возможно, с недочётами. #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread773191.html
арифметические операции с данымы типа "время" C++
Есть переменная типа string a1="071355". Необходимо перевести значение переменной в формат времени, проделать математическую операцию, например увеличить на 1 минуту и 13 секунд и вернуть в первичное значение. Я в с++ очень мало знаю поэтому посоветуйте как сделать или куда копать ато не могу найти.
C++ Клавиатурный тренажер на с++
Добрый,вечер всем! Люди добрые,помогите пожалуйста! Покажите пожалуйста простейший пример кода приложения "Клавиатурный тренажер"! Задали курсовую, а я не могу сообразить,что мне делать!
C++ Дана последовательность расположить её положительные элементы стоящие на нечётных местах по возрастанию http://www.cyberforum.ru/cpp-beginners/thread773180.html
Помогите, пожалуйста. >>Дана последовательность расположить её положительные элементы стоящие на нечётных местах по возрастанию.<< Нужно написать алгоритм на C++ Заранее спасибо добрым людям!
C++ Реализовать вычисление кусочно-заданной функции Реализовать вычисление кусочно-заданной функции : f(x)=\begin{cases} & \text{(ln(1+|x|)/1+x^2+x^4)*e^-2x, if } x\preceq 0 \\ & \text{ \sqrt{1+ctg^2x } ,if } x\epsilon(0,\pi ) \\ & \text{ (3+sinx+cosx) /(1+x)^3, if } x\succeq \pi \end{cases} Заранее спасибо. подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056

Не подсчитывает русские символы - C++

28.01.2013, 00:19. Просмотров 429. Ответов 8
Метки (Все метки)

Не пойму в чём загвостка; логически вроде всё верно:
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
41
42
43
44
45
46
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <stdexcept>
 
int main()
{
    try {
    std::locale::global(std::locale(""));
    } catch (std::runtime_error bad_locale_error) {
        std::cerr << "Couldn't set global locale: " << bad_locale_error.what() << std::endl;
        exit(1);
    }
 
    std::string file_name;
    std::cout << "Enter pls name of file: ";
    std::getline(std::cin, file_name);
 
    std::wifstream input_file(file_name.c_str(), std::ios::in);
    if (!input_file) {
        std::cerr << "Couldn't open file" << std::endl;
        exit(1);
    }
 
    const wchar_t *eng_alpha = L"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    const wchar_t *rus_alpha = L"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";
 
    size_t eng_count = 0, rus_count = 0;
    for (wchar_t c; !input_file.eof(); ) {
        input_file >> c;
        if (wcschr(eng_alpha, c))
            ++eng_count;
        else if (wcschr(rus_alpha, c))
            ++rus_count;
    }
    std::cout << "Russian characters: " << rus_count << std::endl;
    std::cout << "English characters: " << eng_count << std::endl;
 
    input_file.close();
    if (input_file.good()) {
        std::cerr << "A file error occurred" << std::endl;
        exit(1);
    }
        
    return 0;
}
Пс. Английские символы считает правильно.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru