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

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

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

После каждого слова в строке S1 вставить строку S2 - C++

18.12.2012, 23:30. Просмотров 431. Ответов 1
Метки нет (Все метки)

Подскажите, пожалуйста, алгоритм и какие функции использовать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 23:30     После каждого слова в строке S1 вставить строку S2
Посмотрите здесь:

После последней буквы каждого слова вставить точку C++
После каждого слова текста, заканчивающегося заданной подстрокой, вставить указанный символ C++
C++ После каждого слова в строке вставить запятую
C++ Вставить после каждого слова в предложении запятую
C++ Вставить после каждого слова в предложении запятую, а в конце предложения стоит точка
После первой буквы каждого слова вставить символ “-” C++
C++ Строки С++. В строке после каждого слова вставить запятую
C++ Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0
Даны строка S, символ C и строка S0. Необходимо после каждого вхождения символа C в строку S вставить строку S0 C++
Дан символ С и строки S, S0. После каждого вхождения символа С в строку S вставить S0 C++
C++ После 1-го символа каждого слова вставить последовательность символов
Дана строка и подстрока. Вставить подстроку после каждого вхождения 'AB' в строке C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,905
19.12.2012, 01:36     После каждого слова в строке S1 вставить строку S2 #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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <cstring>
#include <cstddef>
 
char* insert(char* s1, size_t size1, const char* s2, size_t size2, size_t pos) {
 
    const size_t n = size1 - pos + 1;
    std::memmove(s1 + size2 + pos, s1 + pos, n);
    std::strncpy(s1 + pos, s2, size2);
 
    return s1;
}
 
int main() {
 
    using namespace std;
 
    const char* delim = " !?,.:;";
        
    char s1[256];
    cout << "input s1: ";
    cin.getline(s1, sizeof(s1));
 
    char s2[256];
    cout << "input s2: ";
    cin.getline(s2, sizeof(s2));
        
    for(size_t i = 0; s1[i];) {
        
        if(strchr(delim, s1[i])) {
            
            do ++i; while(s1[i] && strchr(delim, s1[i]));
        }
 
        else {
            
            while(s1[i] && !strchr(delim, s1[i])) ++i;
            insert(s1, strlen(s1), s2, strlen(s2), i);
            i += strlen(s2);
        }
    }
    
    cout << s1 << endl;
}
Yandex
Объявления
19.12.2012, 01:36     После каждого слова в строке S1 вставить строку S2
Ответ Создать тему
Опции темы

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