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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Votming
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 17
#1

Сравнивание строк - C++

17.12.2013, 17:07. Просмотров 593. Ответов 6
Метки нет (Все метки)

Всем привет. В программу у меня вводится слово, заранее длинна слова не известна. Мне нужно проверить количество согласных в этом слове и занести это в переменную.
Например, если пользователь вводит слово "Привет" программа должна занести в переменную "х" число 4.
Я создал дополнительную строку, вот такую:
C++
1
string word="йЙцЦкКнНгГшШщЩзЗхХфФвВпПрРлЛдДжЖчЧсСмМтТьЬбБъЪ";
Я хочу как-нибудь пробежаться по первой строке и проверить её на соответствие с каждой буквой второй строки. Код для такой операции я вот написать и не могу. Я начинаю писать циклы, но потом не знаю как начать сравнивать отдельные буквы первой строки со второй. Не подскажите?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 17:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сравнивание строк (C++):

сравнивание строк - C++
Здравствуйте. Обьясните пожалуйста чайнику, почему я немогу сравнить строку вот так: #include <iostream> using namespace std; ...

Сравнивание и присоединение строк - C++
Присоединение, проблема в том, как вывести результат присоединения: #include<stdio.h> #include<string.h> #include<alloc.h> void...

Сравнивание строк в структуре - C++
Здравствуйте. Мне нужно вывести на экран структуру, в подпрограмме я ввожу данные, а в этой output вывожу данные, но сначала мне нужно...

Сравнивание указателей - C++
Нужно подсчитать количество символов до определенной позиции, включительно, указатель на которую - begin_symbol начало подсчета с позиции...

Сравнивание 3-х чисел - C++
Как сравнить 3 числа в с++,и вывести на экран число которое из них больше,если не сложно объясните

сравнивание двух чисел - C++
Написать функцию, которая сравнивает два целых числа и возвращает результат сравне-ния в виде одного из знаков: >, < или =.

6
ZeR_0
117 / 109 / 37
Регистрация: 30.01.2013
Сообщений: 297
17.12.2013, 17:13 #2
Не проще
C++
1
2
string word="АаЕеЁёИиОоУуЫыЭэЮюЯя";
word2[i] == word[j] //В цикле соответственно. Функция strlen() вам в помощь
Если нашел в введенной строке совпадение с этой, то плюсует счетчик выходит из цикла поиска.
Описание функции STRLEN()
0
egor2116
342 / 373 / 42
Регистрация: 20.01.2013
Сообщений: 1,132
17.12.2013, 17:19 #3
Код для такой операции я вот написать и не могу.
C++
1
2
3
4
5
6
7
8
std::string word = "qweerytiup vnxc c zz asl k jsdfg' frgjfdklgjkleg";
char find = 'z';
int count = 0;
for(int i = 0; i < word.size(); ++i)
    if(word[i] == find)
      ++count;
 
std::cout << "Character " << find << " was find " << count;
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.12.2013, 17:19 #4
std::count_if + свой предикат для выяснения "согласности" буквы.
1
egor2116
342 / 373 / 42
Регистрация: 20.01.2013
Сообщений: 1,132
17.12.2013, 17:21 #5
C++
1
2
3
4
5
6
7
8
9
std::string word1 = "qweerytiup vnxc c zz asl k jsdfg' frgjfdklgjkleg";
std::string word2 = ";skjglkrgfior jsodif jsdlfj wlef 234 932rlkdfjdskl j43";
 
int count = 0;
for(int i = 0; i < word1.size(); ++i)
   for(int j = 0; j < word2.size(); ++j)
    if(word1[i] == word2[j])
      ++count;
std::cout << count;
1
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
17.12.2013, 17:31 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <algorithm>
#include <string>
 
int main()
{
    std::string raw = "dasfhasdfchnaunfaynhfachqauifnhwcquifyhwiuuwynhfajyfh",
        vowels = "aeiouy";
        
    int x = raw.size() - std::count_if(raw.begin(), raw.end(), 
        [&vowels](const char &letter){ return vowels.find(letter) != std::string::npos; }
    );
    
    return EXIT_SUCCESS;
}
1
Votming
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 17
17.12.2013, 17:44  [ТС] #7
Спасибо всем большое, буду разбираться!
0
17.12.2013, 17:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 17:44
Привет! Вот еще темы с ответами:

Сравнивание CLASS1* с CLASS2 - C++
есть вектор указателей CLASS1 и мне нужно функцией std::find найти нужный указатель делаю так: find( v.begin(), v.end(), CLASS2( 3, 4 )...

Сравнивание char строки с текстом - C++
Программа определяет какое событие произошло раньше а какое позже(вводится с экрана, к примеру 2012 April 21). В программе не сравнивает...

сравнивание переменной с массивом(чисел) - C++
есть массив int mass = {1,2,3,4,5,6,7,8,9} как сравнить переменную с массивом?

Сравнивание числа с числом из файла - C++
Есть следующие строки, которые считывают из файла цифру: #define WORKFILE &quot;C:\\tmp.html&quot; ... char workProcess; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru