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

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

Войти
Регистрация
Восстановить пароль
 
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
#1

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

01.06.2014, 09:34. Просмотров 455. Ответов 5
Метки нет (Все метки)

Заменить каждое вхождение слова "это" на слово "то". Прошу помощи!


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;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2014, 09:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заменить всякое вхождение слова "это" на слово "то" (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" - C++
дано натуральное число n. Вывести на экран фразу &quot;Мне n лет&quot;, учитывая что при некоторых значениях n слово &quot;лет&quot; надо заменить на &quot;год&quot; или...

Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" - C++
В чем ошибка? //Все слова, не содержащие &quot;bc&quot; и заканчивающиеся на &quot;ad&quot; заменить на &quot;!&quot; #include &lt;iostream&gt; #include &lt;string&gt; ...

Из слова апельсин путем "вырезок" и "склеек" его букв получить слово спаниель - C++
Задача из сборника Златопольского: 9.30. Из слово апельсин путем &quot;вырезок&quot; и &quot;склеек&quot; его букв получить слово...

Со слова процессор путем "вырезок" и "склеек" его букв получить слово рессор - C++
При выполнении этой задачи разрешается использовать любые строчные типы данных (например, динамический массив символов). ...

Из слова "яблоко" путем склеек и вырезок его букв получить слова "блок" и "око" - C++
Самым самым самым простым способом.

5
zss
Модератор
Эксперт С++
6475 / 6038 / 1980
Регистрация: 18.12.2011
Сообщений: 15,636
Завершенные тесты: 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");
}
0
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
01.06.2014, 12:41  [ТС] #3
zss, вот это он не читает "s.lenght()"

даже если strlen!

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

Добавлено через 10 минут
zss, А почему он ничего не выводит? Я ввел это, он дальше продолжает ввод текста
0
zss
Модератор
Эксперт С++
6475 / 6038 / 1980
Регистрация: 18.12.2011
Сообщений: 15,636
Завершенные тесты: 1
01.06.2014, 13:31 #4
Да, действительно, символ конца строки не извлекается, т.к. считается пробельным.
Тогда жмите ctrl+Z - для окончания ввода.
0
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
01.06.2014, 14:05  [ТС] #5
Добавлено через 2 минуты
zss, Я ввел это, а он мне выводит "это"
0
zss
Модератор
Эксперт С++
6475 / 6038 / 1980
Регистрация: 18.12.2011
Сообщений: 15,636
Завершенные тесты: 1
01.06.2014, 14:25 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Надо учесть нюанс несовпадения кодировок.
Для этого у Вас функция Rus.
C++
1
2
if(s==string(Rus("это")))
             sresult+=Rus(" то");
1
01.06.2014, 14:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2014, 14:25
Привет! Вот еще темы с ответами:

Введите предложение, в данной строке нужно заменить все слова "погрешность" на "ошибка" - C++
Введите предложение, в данной строке нужно заменить все слова &quot;погрешность&quot; на &quot;ошибка&quot;.

Напишите программу, которая выбирает правильное слово (из "bochka" , "bochek" , "bochki" ) в зависимости от N. - C++
Бизнесмен Василий после прочтения известной книги решил открыть новый бизнес – отгружать апельсины бочками. Партнерам важно знать сколько...

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов - C++
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt; using namespace std; int main()...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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