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

Заменить все вхождения строки s2 в строку s1 на строку s3 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ задача про матрицы http://www.cyberforum.ru/cpp-beginners/thread673575.html
не могу написать программу.только начала изучать язык с++.помогите пожалуйста
C++ Разряды десятичных вещественных чисел Выполнить задания, выделяя цифры числа, хранящегося в переменной стандартного вещественного типа. Число n вводится с клавиатуры: Присвоить целой переменной d k-ую цифру из дробной части положительного вещественного числа x. http://www.cyberforum.ru/cpp-beginners/thread673546.html
Вычислить количество отрицательных элементов массива C++
Задача была такая: В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) количество отрицательных элементов массива; 2) сумму модулей элементов массива, расположенных после минимального по модулю элемента. Написал программу: #include "stdafx.h" #include <iostream> #include "math.h" using namespace std; int _tmain(int argc, _TCHAR* argv)
C++ Написать прототип, определение функции и пример вызова функции для обработки массива
Написать прототип, определение функции и пример вызова функции для решения указанной далее задачи. исходные данные и результаты работы функции передавать через список параметров, единственный ответ лучше получать как возвращаемое значение. обработку массива вести с использованием указателей. спланировать тестирование функции. для ввода исходных данных, передаваемых в функцию, и печати результатов...
C++ Перегрузка унарных операторов http://www.cyberforum.ru/cpp-beginners/thread673527.html
Здравствуйте! В книге Шилдта С++ Базовый курс много примеров по перегрузке операторов. По одному из них у меня вопрос. Перегружаем префиксную форму оператора инкремента: class three_d { int x,y,z; // трехмерные координаты public: three_d(int i, int j, int k) { x=i; y=j; z=k; } //...... three_d operator++ (); // префиксную } ;
C++ Удалить строку из двумерного массива, в котором присутствует ноль Препод дал подсказу, что убрать строку можно с помощью break, но программа у меня не получается // Уборка нулей.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "cmath" #include "conio.h" #include "time.h" #include "stdlib.h" подробнее

Показать сообщение отдельно
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
18.10.2012, 10:51     Заменить все вхождения строки s2 в строку s1 на строку s3
Цитата Сообщение от David Sylva Посмотреть сообщение
но по моему он не работает если несколько вхождений слова.
В смысле?
Вот протестил

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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
char* insert(char *src, char *s, char *dst)
{
   char *t = strdup(src + strlen(s));
   strcpy(src, dst);
   strcat(src, t);
   free(t);
   return src;
}
 
int main(void)
{
   char s[BUFSIZ] = "Hello, world, Hello";
   char *s1 = "Hi";
   char *s2 = "Hello";
 
   printf("%s\n", s);
 
   for (char *ptr = strstr(s, s2); ptr; ptr = strstr(ptr + 1, s2))
      insert(ptr, s2, s1);
 
   printf("%s\n", s);
 
   for (char *ptr = strstr(s, s1); ptr; ptr = strstr(ptr + 1, s1))
      insert(ptr, s1, s2);
 
   printf("%s\n", s);
 
   for (char *ptr = strstr(s, s2); ptr; ptr = strstr(ptr + 1, s2))
      insert(ptr, s2, s2);
 
   printf("%s\n", s);
 
   return 0;
}
http://ideone.com/sqrul
 
Текущее время: 18:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru