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

Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Alexraiter
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 21
29.01.2013, 20:53     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. #1
Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. (на языке С++)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2013, 20:53     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши.
Посмотрите здесь:

C++ Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число.
Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число. C++
Дана последовательность чисел. Выяснить, сколько раз в ней встречается максимальное число C++
C++ Дана фраза. Определить сколько в ней симметричных пятибуквенных слов
C++ Дана последовательность слов. Найти кол-во слов начинающихся с d и кончающихся буквой w
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
29.01.2013, 22:31     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. #2
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
#include <iostream>
#include <string>
#include <windows.h>
 
 
bool isRight(char * txt)
{
    for (int i = 0; i < strlen(txt); ++i)
        if ( (txt[i] == 'ж' || txt[i] == 'ш') && (txt[i+1] != 'и'))
            return false;
            
    return true;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    char txt1[] = "рыжий цвет. Широкая кость.";
    char txt2[] = "шырота и долгота. Жирный мальчик";
    
    std::cout << (isRight(txt1) ? "Верно" : "Не верно") << std::endl;
    std::cout << (isRight(txt2) ? "Верно" : "Не верно") << std::endl;
    
    system("pause >> NULL");
}
Alexraiter
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 21
30.01.2013, 01:57  [ТС]     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. #3
А можно сделать тоже самое только через VisualStudio C++ ?
Alexraiter
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 21
04.02.2013, 18:02  [ТС]     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. #4
а как сделать так чтобы я мог в консольном окне писать сам предложения и оно не искало правильно или нет??
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
04.02.2013, 18:17     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. #5
Цитата Сообщение от Alexraiter Посмотреть сообщение
а как сделать так чтобы я мог в консольном окне писать сам предложения и оно не искало правильно или нет??
приблизительно так:
C++
1
2
3
4
5
6
7
8
while (cin)
    {
        string s;
        getline(cin,s);
        if (s=="exit") break;
        ... тут делаете что хотите с ведённой строкой в s
 
    }
прервётся цикл по команде exit или признаку конца файла (Crtl+D (unix) или Ctrl+Z(win) на новой строке)
аналогично можете сделать и свой удобный выход из while(cin)
Alexraiter
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 21
04.02.2013, 18:40  [ТС]     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. #6
а как связать эти две программы? только так что бы я сам вписывал нужную мне проверку слов в консоле!
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
04.02.2013, 19:02     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. #7
Цитата Сообщение от Alexraiter Посмотреть сообщение
а как связать эти две программы? только так что бы я сам вписывал нужную мне проверку слов в консоле!
я если, честно, не понимаю ту программу, к тому же не имею виндуса, чтобы посмотреть что же она делает...
я бы взял за основу класс std::string, и его метод find(), так же пригодился бы toupper()
но смущает что непонятно как проверять )
например слово "жесть" или "желание" вполне себе нормальные слова, а тут забракуются... видимо надо только "ы" браковать
Alexraiter
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 21
04.02.2013, 19:12  [ТС]     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. #8
в принципе я согласен. но как написать это все я незнаю, помоги)
через функции нада написать и с вводом в файл и выводом из него))
Asker
114 / 102 / 11
Регистрация: 18.12.2010
Сообщений: 378
04.02.2013, 19:50     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. #9
Хотелось бы поправить Вас, Afflicted.

Если мы введём строку "лаваш хорош", то Ваша программа выдаст "Неверно", хотя слова написаны правильно. Это происходит потому, что после буквы Ш стоит пробел, и программа считает пробел ошибкой.

Поэтому предлагаю проверять не на неравенство txt[i+1] букве 'и', а на равенство буквы 'ы'. Да, и кстати, слово "Шыкарно" программа засчитает за правильное, т.к. она не учитывает регистр букв.
предлагаю поменять строку на:
C++
1
if ( (txt[i] == 'ж' || txt[i] == 'ш' || txt[i] == 'Ж' || txt[i] == 'Ш') && (txt[i+1] == 'ы' || txt[i+1] == 'Ы'))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2014, 14:44     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши.
Еще ссылки по теме:

Дана последовательность чисел. Сколько раз в ней встречается максимальное число? C++
C++ Дана строка. Словом в ней назовем последовательность подряд идущих латинских букв (больших или маленьких). Подсчитать количество слов в строке
C++ Дана последовательность символов. Определить в ней символ, который по алфавиту предшествует другим

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

Или воспользуйтесь поиском по форуму:
_Nilan
5 / 5 / 1
Регистрация: 15.05.2014
Сообщений: 79
27.06.2014, 14:44     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. #10
А можете зделать так же толька на C#
Yandex
Объявления
27.06.2014, 14:44     Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши.
Ответ Создать тему
Опции темы

Текущее время: 01:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru