С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/48: Рейтинг темы: голосов - 48, средняя оценка - 4.81
0 / 0 / 2
Регистрация: 29.01.2013
Сообщений: 21
1

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

29.01.2013, 20:53. Показов 8717. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана последовательность слов. Проверить правильно ли в ней записаны буквосочетания жи и ши. (на языке С++)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2013, 20:53
Ответы с готовыми решениями:

Дана последовательность слов. Напечатать все слова последовательности, которые встречаются в ней один раз
Не могу разобраться как переписать в с++ uses crt; var a: array of string; i,j,k,l: byte; ...

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

Проверить, правильно ли в ней записаны сочетания «жи» и «ши»
Дана последовательность слов. Проверить, правильно ли в ней записаны сочетания «жи» и «ши»

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

9
Обитатель форума
201 / 184 / 54
Регистрация: 28.10.2012
Сообщений: 543
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");
}
1
0 / 0 / 2
Регистрация: 29.01.2013
Сообщений: 21
30.01.2013, 01:57  [ТС] 3
А можно сделать тоже самое только через VisualStudio C++ ?
0
0 / 0 / 2
Регистрация: 29.01.2013
Сообщений: 21
04.02.2013, 18:02  [ТС] 4
а как сделать так чтобы я мог в консольном окне писать сам предложения и оно не искало правильно или нет??
0
494 / 449 / 138
Регистрация: 03.02.2013
Сообщений: 1,390
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)
0
0 / 0 / 2
Регистрация: 29.01.2013
Сообщений: 21
04.02.2013, 18:40  [ТС] 6
а как связать эти две программы? только так что бы я сам вписывал нужную мне проверку слов в консоле!
0
494 / 449 / 138
Регистрация: 03.02.2013
Сообщений: 1,390
04.02.2013, 19:02 7
Цитата Сообщение от Alexraiter Посмотреть сообщение
а как связать эти две программы? только так что бы я сам вписывал нужную мне проверку слов в консоле!
я если, честно, не понимаю ту программу, к тому же не имею виндуса, чтобы посмотреть что же она делает...
я бы взял за основу класс std::string, и его метод find(), так же пригодился бы toupper()
но смущает что непонятно как проверять )
например слово "жесть" или "желание" вполне себе нормальные слова, а тут забракуются... видимо надо только "ы" браковать
0
0 / 0 / 2
Регистрация: 29.01.2013
Сообщений: 21
04.02.2013, 19:12  [ТС] 8
в принципе я согласен. но как написать это все я незнаю, помоги)
через функции нада написать и с вводом в файл и выводом из него))
0
121 / 109 / 29
Регистрация: 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] == 'Ы'))
0
5 / 5 / 2
Регистрация: 15.05.2014
Сообщений: 81
27.06.2014, 14:44 10
А можете зделать так же толька на C#
0
27.06.2014, 14:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.06.2014, 14:44
Помогаю со студенческими работами здесь

Проверить, правильно ли в тексте записаны буквосочетания "жи" и "ши"
Дана последовательность слов. Проверить, правильно ли в нем записаны буквосочетания жи и ши....

Дана последовательность слов. Напечатать все слова последовательности, которые встречаются в ней по одному разу.
1.8. 2.Составить программу печати в возрастающем порядке всех цифр, входящих в десятичную запись...

Дана последовательность слов. Напечатать все слова последовательности, которые встречаются в ней по одному разу.
Дана последовательность слов. Напечатать все слова последовательности, которые встречаются в ней по...

Дана последовательность слов. Напечатать эту же последовательность слов, но в обратном порядке
Дана последовательность содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru