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

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

Войти
Регистрация
Восстановить пароль
 
Ученик кода
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 76
#1

Не получается найти букву в строке - C++

16.08.2014, 18:16. Просмотров 288. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main()
{
    char str[34]={"абвгдеёжзийклмнопрстуфхцчшщъыьэюя"}; //33 буквы + знак окончания
    char bykva;
    cout << "Vvedi 1 bykvy " << endl;
    cin >> bykva;
    
    for (int i = 0; i < 33; i++) //ищем введенную букву в массиве
    {
        if(str[i]==bykva)
        {
            cout << "Найдено !";
        }
    }
return 0;
}
Условие которое я прописал в цикле, почему то не срабатывает. Любую букву из русского алфавита вводишь, цикл не находит ее.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2014, 18:16     Не получается найти букву в строке
Посмотрите здесь:

C++ Найти самое короткое слово в строке, которое заканчивается на букву «а»
C++ Найти самое короткое слово в строке, которое заканчивается на букву "а"
C++ Найти наиболее часто встречающуюся букву и также вывести на экран в отдельной строке
В строке, состоящей из слов и знаков препинания(пробел.:,!?-;),найти слово максимальной длины, не содержащее заданную букву C++
чёт никак не получается присвоить переменной букву! C++
В строке, состоящей из слов, найти и вывести на экран все слова, начинающиеся на букву w C++
Как продублировать букву в строке C++ C++
Найти в строке слово с окончанием на букву 'а' C++
C++ Найти в строке букву, которая встречается большее число раз
В строке указать слова содержащие заданную букву C++
C++ Найти в строке любое слово, которое начинается на букву а и заканчивается на букву а
В заданной строке заменить русскую букву символом * C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BlackIce
309 / 171 / 64
Регистрация: 18.01.2014
Сообщений: 387
16.08.2014, 18:28     Не получается найти букву в строке #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Кодировка исходного текста программы и консоли не совпадают.
Попробуйте сначала ввести строку с клавиатуры, а потом в ней поискать:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int main()
{
    char str[34];
    char bykva;
    cout << "enter string: ";
    cin.getline(str, 34);
    int n = cin.gcount();
    cout << "enter letter: ";
    cin >> bykva;
   
    for (int i = 0; i < n; i++) //ищем введенную букву в массиве
    {
        if(str[i]==bykva)
        {
            cout << "Found!";
            break;
        }
    }
    return 0;
}
Или просто сохранить ваш исходник в кодировке cp866.

Рекомендую ознакомится с темой Русские шрифты в консоли
zer0mail
2321 / 1947 / 192
Регистрация: 03.07.2012
Сообщений: 6,970
Записей в блоге: 1
16.08.2014, 18:57     Не получается найти букву в строке #3
Даже 'а' и 'р' не находит?
Ученик кода
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 76
16.08.2014, 19:08  [ТС]     Не получается найти букву в строке #4
BlackIce, спасибо, за ссылку. Уже читаю.

zer0mail, 'а' не нашло, а вот 'р' нашло. Но это же не серьезно ))
zer0mail
2321 / 1947 / 192
Регистрация: 03.07.2012
Сообщений: 6,970
Записей в блоге: 1
16.08.2014, 23:04     Не получается найти букву в строке #5
Цитата Сообщение от Ученик кода Посмотреть сообщение
zer0mail, 'а' не нашло, а вот 'р' нашло. Но это же не серьезно ))
Это означает, что строка в кодировке 1251, а ввод в кодировке 866.
Vtulhu
369 / 375 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
17.08.2014, 00:07     Не получается найти букву в строке #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string.h>     // strpbrk
#include <stdio.h>      // puts
 
void say(const char* const str, const char* const abc)
{
    puts( strpbrk(str, abc)? "Found!" : "Not found..." );
}
 
int main(void)
{
    const char* const abc = "abc";
    say("abracadabra", abc);
    say("xyz", abc);
    say("123", abc);
    return 0;
}
Yandex
Объявления
17.08.2014, 00:07     Не получается найти букву в строке
Ответ Создать тему
Опции темы

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