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

Задача с использованием множества: каких символов в заданной строе больше: русских или латинских? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указать общие символы первого и последнего слова в заданной строке (с использованием множества) http://www.cyberforum.ru/cpp-beginners/thread1495858.html
Помогите решить задачу с использованием множества: указать общие символы первого и последнего слова в заданной строке.
C++ Сформировать из данного числа другое число, которое содержит только четные цифры (рекурсия) Помогите описать рекурсивную подпрограмму, формирующую из данного натурального числа другое число, которое содержит только четные цифры (порядок следования сохраняется). http://www.cyberforum.ru/cpp-beginners/thread1495857.html
Каковы современные решения написания программ? C++
Уже пол года как изучаю с++. За это время решил не мало задачек и перечитал литературы. Писал все программы в основном в Builder`e и консольные в vs. Вот решил узнать как создаются более менее серьезные проекты. Начал разбираться, попробовал windows forms, потом начал разбираться с winapi... но так и не получил полной ясности, при помощи чего сегодняшние программисты создают свои шедевры. Может...
C++ Ошибка компиляции единого файла: undefined reference to `vtable for .'
Проблема при компиляции файла: prog.cpp:(.text.startup+0x42): undefined reference to `vtable for Man' prog.cpp:(.text.startup+0x64): undefined reference to `vtable for PC' collect2: error: ld returned 1 exit status Код залит тут: http://ideone.com/nwzNd9 Идея в том, что создается карточная колода - двусвязный список объектов класса Card, тасуется и раздается по 6 карт 2м игрокам (PC и...
C++ Ссылки и очистка памяти http://www.cyberforum.ru/cpp-beginners/thread1495716.html
Здравствуйте! Если я создаю ссылку и присваиваю ей значение (константу или нет) должен я как и с указателями заботится об памяти? К Примеру: int &a = *(new int(5));
C++ Время выполнения фрагмента кода Как измерить время выполнения алгоритма? В темах читал про clock() , сделал, но на выводе всегда 0 подробнее

Показать сообщение отдельно
Ev[G]eN
Эксперт С++
5095 / 1533 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
11.07.2015, 09:28     Задача с использованием множества: каких символов в заданной строе больше: русских или латинских?
мне кажется, это лишнее нагромождение кода, потому что для этого у set'a есть конструктор
Цитата Сообщение от D_Gon Посмотреть сообщение
C++
1
2
3
4
for ( int i = 0; en[ i ] != '\0'; ++i )
* * * * set_en.insert( en[ i ] );
* * for ( int i = 0; rus[ i ] != '\0'; ++i )
* * * * set_rus.insert( rus[ i ] );
эти проверки тоже абсолютно не нужны, можно просто инкрементировать счетчики методом set.count(), он все равно вернет либо 0, либо 1
Цитата Сообщение от D_Gon Посмотреть сообщение
C++
1
2
3
4
if ( set_en.count( c[ i ] ) )
* * * * * * ++count_en;
* * * * else if ( set_rus.count( c[ i ] ) )
* * * * * * ++count_rus;
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>
#include <set>
 
int main() {
    const std::string russianLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdifghijklmnopqrstuvwxyz";
    const std::string englishLetters = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя";
    
    std::set <char> russianSet(russianLetters.begin(), russianLetters.end());
    std::set <char> englishSet(englishLetters.begin(), englishLetters.end());
    
    int russianCount = 0;
    int englishCount = 0;
    
    std::string someString = "as1dfgi 454пohiop upog hывап шщр oisdhfg ывап1 1ыва";
    for (char currentChar : someString) {
        russianCount += russianSet.count(currentChar);
        englishCount += englishSet.count(currentChar);
    }
    std::cout << "Russian letters: " << russianCount << std::endl;
    std::cout << "English letters: " << englishCount << std::endl;
    
    return 0;
}
 
Текущее время: 12:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru