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

В заданной строке удалить заданную подстроку, сколько бы раз она не встречалась - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Метод многих поверхностей http://www.cyberforum.ru/cpp-beginners/thread660897.html
Подскажите, пожалуйста, где можно почитать о методе "многих поверхностей" (multi-surface method). С его помощью нужно будет построить сетку на области.
C++ Задача на сортировку массива методом вставки на С++ Помогите, пожалуйста, решить задачу. Отсортируйте по возрастанию методом вставки одномерный целочисленный массив, введенный с клавиатуры. Выведите на экран исходный и отсортированный массивы. (Сортировка вставками: пусть первые k элементов массива уже упорядочены по неубыванию. Берется (k+1)-й элемент и размещается среди первых k элементов так, чтобы упорядоченными оказались уже k+1 первых... http://www.cyberforum.ru/cpp-beginners/thread660889.html
Система счисления - выводится лишний ноль C++
Добрый день! Вопрос мой состоит в следующем: Много видел уже готовых программ по переводу чисел из одной системы в другую,но захотел сделать сова алгоритм. Я использую цикл do/while, считаю лучшим вариантом(если не так поправьте, пожалуйста) Вот что получилось: a - вводимое число; b - остаток от деления; cin >> a; a = a/2; b = a%2;
C++ что-то не то с функциями!
#include <iostream> #include <conio.h> #include <math.h> #include <fstream> #include <iomanip> using namespace std; double n=1; double m=0,x=0,z=0,s=0,a=0,b=0,h=0,q=0,w=0,e=0,zz=0,p=0; ifstream in; ofstream out;
C++ Программа для вычисления выражений http://www.cyberforum.ru/cpp-beginners/thread660845.html
A= min(sin x, min (y,x)) Max(x^y,y) (не использовать макрокоманд Max и Min)
C++ Подскажите с изучением С++ Я хотел бы изучить язык С++, подскажите пару книг или видеокурсов по С++. Заранее спасибо. подробнее

Показать сообщение отдельно
darca
2 / 2 / 0
Регистрация: 30.09.2012
Сообщений: 7

В заданной строке удалить заданную подстроку, сколько бы раз она не встречалась - C++

30.09.2012, 17:30. Просмотров 828. Ответов 9
Метки (Все метки)

Ребят, помогите разобраться. Стоит задача создать программу со строками, string.h желательно не использовать.
В заданной строке удалить заданную подстроку, сколько бы раз она не встречалась.

Вот мой код:
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
45
46
47
48
49
#include <iostream>
#include <stdio.h>
#include <string.h>
#include "stdafx.h"
#include <conio.h>
 
using namespace std;
 
void main()
{
    setlocale(0,"Rus");
 
    int i,j,k;
    char a1[255], a2[255], b[255];
    k=0;
    j=1;
    
    cout<<"Введите строку: ";
    gets(a1);
    cout<<"Введите подстроку: ";
    gets(b);
    for (i=0; i<strlen(a1); i++)
    {
        if (a1[i]!=b[0])
        {
            a2[k]=a1[i];
            k++;
        }
        else
        {
            j=0;
            while (j<=strlen(b))
            {
                if (a1[i]!=b[j])
                {
                    a2[k]=a1[i];
                    k++;
                }
                i++;
                j++;
            }
            i--;
        }
    }
    cout<<"\nОтвет:"<<endl;
    for (i=0; i<k; i++)
        cout<<a2[i];
    _getch();
}
На данный момент программа считывает строку, подстроку и удаляет ее. Но я не пойму как мне сделать, что бы в случае, например, когда строка: "abcd", подстрока: "bs", ничего не удалялось. Как бы я не пробовал, все время удаляется "b".
Буду благодарен, если кто-то подбросит хорошую идею для реализации.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru