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

Строки: нахождение символов и замена слов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как в динамическом массиве найти наибольшее значение? http://www.cyberforum.ru/cpp-beginners/thread781640.html
Как в динамическом массиве найти наибольшее значение? srand(time(NULL)); int n = 0; cin >> n; while(i=max) int **a = new int* ; for (int i = 0; i < n; i++) { a = new int ; }
C++ Программа сортировки списка Помогите сделать программу пожалуйста. Программа считывает информацию о студентах (имя, оценка (от одного до десяти) ) и выводит их сначала в порядке, отсортированном по фамилии (в алфавитном порядке, причём символ конца строки идёт раньше по алфавиту, чем любая буква), а затем в порядке, отсортированном по оценке (по убыванию). Все имена разные, состоят из маленьких латинских букв и имеют... http://www.cyberforum.ru/cpp-beginners/thread781632.html
Извлечение данных из стека C++
Доброго времени суток! Помогите разобраться. Изучаю функции и мне не понятно, как извлекаются значения локальных переменных из стека. В стек закладываются локальные переменные по мере их определения. Допустим вначале мы внутри функции объявляем переменную а, потом b. Данные из стека берутся по принципу "последним пришел-первым вышел". А что, если нам вначале нужно использовать переменную a, а...
C++ Проблема с define и typedef
Объясните мне пожалуйста, товарищи... В чем смысл объявлять такие дурацкие дефайны кто это делает? и таких бессмысленных дефайнов, просто кучи!!! Особенно в WinAPI... нельзя ли было просто написать? int wmain(int argc, _TCHAR* argv) и зачем этот *TCHAR?? почему бы не написать int wmain(int argc, wchar_t* argv ? Хоть кто нибудь, объясните зачем это...?
C++ Объясните пожалуйста, как работает код. Указатели http://www.cyberforum.ru/cpp-beginners/thread781572.html
Если не сложно, напишите пожалуйста комметнтарии к каждой строке. Никак не могу разобраться. Программа разделяет строку на слова. #include "stdafx.h" #include <iostream> #include <cstdio> using namespace std; int main() { setlocale (0,"rus"); char str; char token;
C++ Записать все двоичные числа по порядку каждую цифру в отдельный элемент массива Дано число p - количество знаков в двоичном числе Нужно записать все двоичные числа по порядку каждую цифру в отдельный элемент массива и посчитать количество единиц в числе. Пример p=3 Массив А кол-во единиц в числах 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 2 1 0 0 1 подробнее

Показать сообщение отдельно
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
08.02.2013, 22:42     Строки: нахождение символов и замена слов
Цитата Сообщение от sanyachel9binsk Посмотреть сообщение
Спасибо!)

Добавлено через 1 минуту
А есть еще способы решения этой задачи на С++? Интересно просто...
я же писал, можно воспользоваться стандартными функциями - std::string::find- вернёт позицию первой встретевшейся подстроки и следом std::string::replace - заменит эту подстроку на новую... единственное перед заменой - надо проверить что вокруг слова пробелы, либо начало строки, либо конец строки
помойму это самый простой и очевидный путь

сейчас попробую накидать

Добавлено через 40 минут
вот
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
#include <string>
#include <iostream>
 
using std::string;  using std::cout;
using std::endl;
 
int main()
{
    string mystr = "это слово это а этоуже не слово это";
    string replfrom = "это";
    string replto = "то";
   
    string::size_type i = 0;
    
    while (i<=mystr.size())
    {
        i = mystr.find(replfrom,i);
        if (i<mystr.size()) 
        {
            if  (((i==0)&&(isspace(mystr[i+replfrom.size()])) )  ||
                ((i+replfrom.size())>=mystr.size()) ||
                ((isspace(mystr[i+replfrom.size()]))&&(isspace(mystr[i-1])))) 
                mystr.replace(i,replfrom.size(),replto);
            ++i;
        }
    }
    
    cout << mystr << endl;
    return 0;
}
 
Текущее время: 11:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru