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

Удалить из символьной строки все слоги "ма" - C++

Восстановить пароль Регистрация
 
wolf0022
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 148
06.09.2014, 14:17     Удалить из символьной строки все слоги "ма" #1
Не знаю как удалить из символьной строки все слоги "ма", помогите пожалуйста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
string s;
string word, temp;
cout<<"Input string";
cin>>s;
 
 
cout << "\nResult:\n" << s;
 
return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2014, 14:17     Удалить из символьной строки все слоги "ма"
Посмотрите здесь:

C++ Как на языке "С" удалить в строке все цифры 3 перед первой точкой и заменить все '+' после певрой точки на '-'?
Задача "Слоги". не вруб C++
Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки C++
C++ Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии.
C++ Определить длину каждого слова. Удалить все буквы "а" и "о" с фамилии
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 119
06.09.2014, 14:33     Удалить из символьной строки все слоги "ма" #2
char *strstr(st1, st2) - возвращает указатель на первое появление подстроки st2 в строке st1
этого должно хватить

Добавлено через 1 минуту
или обязательно стринг?
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
06.09.2014, 16:19     Удалить из символьной строки все слоги "ма" #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
 
int main()
{
    std::string str, sdel("ma");
    std::getline(std::cin, str);
    for(std::string::size_type ind = 0, sdelsize = sdel.size(); (ind = str.find(sdel, ind)) != std::string::npos; str.erase(ind, sdelsize))
        ;
    std::cout << str << '\n';
    return 0;
}
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
06.09.2014, 20:16     Удалить из символьной строки все слоги "ма" #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вариант с русским. Регистронезависимый.
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
#include <iostream>
#include <windows.h>
#include <ctype.h>
 
using namespace std;
 
//Функция приводит строку к нижнему регистру.
string getlowerstring(const string &S)
{
    string str=S;
       for (int i=0;i<S.length();i++) str[i]=tolower(S[i]);
    return str;
}
 
 
int main(){
 char str;
/*Это для кодировки*/
   SetConsoleCP(1251);
   SetConsoleOutputCP(1251);
 setlocale(LC_CTYPE,"Russian");
 ////////////////////////////////////
 
 
 string S;
 getline(cin,S);
 
  while (getlowerstring(S).find("ма")!=S.npos)  S.erase(getlowerstring(S).find("ма"),2); //Пока встречаем слог ма - удаляем его
 
  cout<<S<<"\n";
 }
Миниатюры
Удалить из символьной строки все слоги "ма"  
Yandex
Объявления
06.09.2014, 20:16     Удалить из символьной строки все слоги "ма"
Ответ Создать тему
Опции темы

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