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

Заменить всякое вхождение слова "это" на слово "то" - C++

Восстановить пароль Регистрация
 
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
01.06.2014, 09:34     Заменить всякое вхождение слова "это" на слово "то" #1
Заменить каждое вхождение слова "это" на слово "то". Прошу помощи!


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 <iostream>
#include <Windows.h>
#include <string>
using namespace std;
 
char str_rus[256];
char* Rus(const char* str);
 
int main()
{
    char s[80];
    int n;
    unsigned int i;
    cout<<Rus("Введите строку: ");
    cin.getline(s,80);
    n=strlen(s);
    for (i=n;i<=1;i--)
    if((s=="это") && ((i==1) || (s[i-1]==' ')) && ((i+3==n) || (s[i+3]==' ')))
 
    cout<<s<<endl;
    system ("pause");
}
 
char* Rus(const char* str)
 
{
    AnsiToOem(str, str_rus);
    return str_rus;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2014, 09:34     Заменить всякое вхождение слова "это" на слово "то"
Посмотрите здесь:

Программа, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова "ноль", "один",..."девять" C++
Заменить слово "кот" на "пес" C++
Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки C++
Строка: заменить первую "о" на "а", удалив остальные "о" C++
Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5954 / 5559 / 1788
Регистрация: 18.12.2011
Сообщений: 14,207
Завершенные тесты: 1
01.06.2014, 10:30     Заменить всякое вхождение слова "это" на слово "то" #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    string s,sresult="";
    cout<<Rus("Введите строку: ");
    while(cin>>s && s[s.lenght()-1]!='\n')
    {
          if(s==string("это"))
             sresult+=" то";
          else
             sresult+=" "+s;
    }
    cout<<sresult<<endl;
    system ("pause");
}
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
01.06.2014, 12:41  [ТС]     Заменить всякое вхождение слова "это" на слово "то" #3
zss, вот это он не читает "s.lenght()"

даже если strlen!

Добавлено через 1 минуту
zss, А все, там length а не lenght

Добавлено через 10 минут
zss, А почему он ничего не выводит? Я ввел это, он дальше продолжает ввод текста
zss
Модератор
Эксперт С++
 Аватар для zss
5954 / 5559 / 1788
Регистрация: 18.12.2011
Сообщений: 14,207
Завершенные тесты: 1
01.06.2014, 13:31     Заменить всякое вхождение слова "это" на слово "то" #4
Да, действительно, символ конца строки не извлекается, т.к. считается пробельным.
Тогда жмите ctrl+Z - для окончания ввода.
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
01.06.2014, 14:05  [ТС]     Заменить всякое вхождение слова "это" на слово "то" #5
Добавлено через 2 минуты
zss, Я ввел это, а он мне выводит "это"
zss
Модератор
Эксперт С++
 Аватар для zss
5954 / 5559 / 1788
Регистрация: 18.12.2011
Сообщений: 14,207
Завершенные тесты: 1
01.06.2014, 14:25     Заменить всякое вхождение слова "это" на слово "то" #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Надо учесть нюанс несовпадения кодировок.
Для этого у Вас функция Rus.
C++
1
2
if(s==string(Rus("это")))
             sresult+=Rus(" то");
Yandex
Объявления
01.06.2014, 14:25     Заменить всякое вхождение слова "это" на слово "то"
Ответ Создать тему
Опции темы

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