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

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

Войти
Регистрация
Восстановить пароль
 
hop_hey
1 / 1 / 1
Регистрация: 18.11.2012
Сообщений: 54
#1

Обработка символьных данных. Yes, если есть символ в строке и NO если его нет - C++

22.04.2013, 17:00. Просмотров 453. Ответов 1
Метки нет (Все метки)

Здравствуйте! Помогите решить задачу: Если в данный текст входит любая из букв слова key, напечатать да, если не входит то нет.
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
#include "stdafx.h"
#include <conio.h>
#include <locale>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
    int k=0;
    char s[]={'K','E','Y'};
    char vvod[100];
    while(*vvod!='.')
    {
    cin>>vvod;
    _strupr(vvod);
       if(strpbrk(vvod,s))
       {
        cout<<"Yes :)"<<endl;
        break;
       }
       else 
           if(!strpbrk(vvod,s))
           {cout<<"NO"<<endl;break;
       }
    } 
_getch();
    return 0;
}
Если без else то все гуд, работает как часы - если в строке есть слово включающее в себя любой символ из key, то все выводится. если с веткой елсе то нифига не работает правильно =( ЗАпараился.. 4 неделю сижу на лабе не моуг понять как сделать. Хелп ми!
C++
1
if((strpbrk(,'K'vvod))&&(strpbrk('E',vvod))&&(stprbrk('E',vvod)) cout<<"содержит"; else cout<<"отсутствует";
Пробовал всякие условия - он считывает каждое слово как отедльный массив и выводит по слову-
мама мыла рамku - no no yes

Добавлено через 1 час 5 минут
Ну и что же.. форум пестрит подобными сообщениями, ответа так и нет... то ли "гуру" пролистывая вопрос смееются и не хотят отвечать, то ли у всех полнейшее безразличие...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2013, 17:00     Обработка символьных данных. Yes, если есть символ в строке и NO если его нет
Посмотрите здесь:

Если в массиве есть хоть 1 отрицательное число, то программа должна печатать max, а если нет - то 0 - C++
Дано массив... если в массиве есть хоть 1 отрицательное число то программа должна печатать max, а если нет то 0; ну я здесь написал кое...

Определить является ли заданное число трёхзначным, если нет, вывести его последнюю цифру, а если да, первую - C++
Помогите пожалуйста, срочно. Нужно определить является ли число трёхзначным, если нет, вывести его последнюю цифру, а если да, первую....

Ввести с клавиатуры фамилию и задать букву на поиск (любую) тогда вывести ее на экран если он есть, а если нет то сообщение что она отсутствует. - C++
Ввести с клавиатуры фамилию и задать букву на поиск (любую) тогда вывести ее на экран если он есть, а если нет то сообщение что она...

Обработка символьных данных(удалить в строке все символы, кроме цифр) - C++
Составить программу, которая вводит строку символов, выполняет ее обработку удаление всех символов, не являющиеся цифрами и затем выводит...

Если на k-й символ попадает слово, то оно относится ко второй строке - C++
Само задание нужно разбить исходную строку на две подстроки , причём первая длинной k. Если на к-й символ попадает слово, то его следует...

Стринг. Запрет дальнейшего выполнения процеса, если в строке встречается символ - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; #include &lt;string&gt; using namespace std; int main() { setlocale(0,...

нужно чтобы в строке если встречается символ то прибавить соответствующую цифру к числу - C++
как опериравать строками? нужно чтобы в строке если встречается сивол то прибавить соответствующую цифру к числу вот код: #include...

Текст из 0 и 1. Оставив 1-ый символ в как есть, заменить каждый следующий на 0, если не совпадает с рассматриваемым - C++
Добрый день, окажите помощь с данной задачей. Задан текст, состоящий из «0» и «1». Оставив первый символ в неприкосновенности, заменить...

Если число четное - разделить его пополам, если нечетное - умножить на 5 - C++
Возьмем натуральные числа от 1 до 10. Если число четное - разделим его пополам, если нечетное - умножим на 5.

Если элемент исходной последовательности встречается один раз, то заменить его на 1, если несколько, то 0 - C++
1)В последовательности нет 0 и 1. Получить новую по следующей схеме: Если элемент исходной последовательности встречается один раз, то...

Даны числа х,у. Если х и у положительны, то каждое значение заменить его модулем; если положительно только - C++
Даны числа х,у. Если х и у положительны, то каждое значение заменить его модулем; если положительно только одно из них, то оба значения...

В каждой второй строке удалить третье слово, если такое есть - C++
Добрый день! Ребята срочно нужна помощь,буду признателен,нужно в С++ разработать программу следующего условия: В каждой второй строке...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 440
22.04.2013, 18:22     Обработка символьных данных. Yes, если есть символ в строке и NO если его нет #2
hop_hey, я бы лучше сделал так
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
#include <iostream>
#include <cstring>
using namespace std;
const int size = 100;
bool check(char symbol);
 
int main()
{
    char vvod[size];
    int i = 0;//начало строки
    cout <<"Entered text: ";
    cin >>vvod;
    while (vvod[i]!='.')
    {
        int size = strlen(vvod);
        for (int j=0;j<size;j++)
            if (check(vvod[j]))
            {
                cout <<"YES!!!\n";
                break;
            }
            else if (j==size-1)
                cout <<"NO!!!\n";
        cout <<"Entered text: ";
        cin >>vvod;
    }
    return 0;
}
 
bool check(char symbol)
{
    switch (symbol)
    {
        case 'K':
        case 'E':
        case 'Y': return true;
        default : return false;
    }
}
Добавлено через 5 минут
блин, ток я чёто с основным циклом накасячил, при while.....ну в общем надеюсь идею ты понял)

Добавлено через 21 минуту
Вот, это точно будет работать, но немного гразновато получилось. Ну зато работает)
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
47
48
49
50
51
52
53
54
#include <iostream>
#include <cstring>
using namespace std;
const int size = 100;
bool check(char symbol);
 
int main()
{
    char vvod[size];
    int i = 0;
    bool flag = false;
    cout <<"Entered text: ";
    cin.getline(vvod,size);
    int sizeText = strlen(vvod);
    while (vvod[i])
    {
        if (flag == false)
        {
            if (check(vvod[i]))
            {
                cout <<"Yes\n" <<endl;
                flag = true;
            }
            else if (i == sizeText-1)
                cout <<"NO\n";
        }
        if (i != sizeText-1)
            i++;
        else
        {
            if (vvod[i] != '.')
            {
                cout <<"Entered text: ";
                cin.getline(vvod,size);
                int sizeText = strlen(vvod);
                flag = false;
                i=0;
            }
            else break;
        }
    } 
    return 0;
}
 
bool check(char symbol)
{
    switch (symbol)
    {
        case 'K':
        case 'E':
        case 'Y': return true;
        default : return false;
    }
}
Yandex
Объявления
22.04.2013, 18:22     Обработка символьных данных. Yes, если есть символ в строке и NO если его нет
Ответ Создать тему
Опции темы

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