Для сравнения двух строк и удаления одинаковых символов из строки 1 и вывода строки 2 с использованием C ++ - PullRequest
1 голос
/ 30 июня 2011

Я новичок в программировании и застрял в точке, где я должен сравнить две строки, используя C ++: строку 1 и строку 2 для одинаковых символов, а затем удалить эти символы из строки 1 и напечатать строку 2. Взгляд вперед за помощь. Мой код выглядит так:

#include<string>
#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
    string first_string;
    string second_string;
    string::size_type start_position=0;

    cout<<"Please enter the first string: "<<endl;
    getline(cin,first_string);

    cout<<"Please enter the Second string: "<<endl;
    getline(cin, second_string);

    while ( (start_position = second_string.find(first_string, start_position)) != string::npos )
    {
    while ( (start_position = second_string.find(first_string, start_position)) != string::npos )
    {
        second_string.replace( start_position, first_string.size(), "" );
        start_position++;
    }
    }
    cout<<"The Result is as follws: "<<second_string<<endl;
    getch();
    return 0;

}

Ждем вашей помощи.

С уважением, Sam

Ответы [ 2 ]

1 голос
/ 30 июня 2011

Сравните каждый символ в строке2 со всеми символами строки1.Если этот символ из строки2 не совпадает ни с одним в строке1, тогда добавьте этот символ в новую строку, иначе продолжайте без добавления.Продолжите это для всех символов в string2.Теперь назначьте новую строку как string1.Это использует дополнительный o (n) пробел, но проще.

0 голосов
/ 30 июня 2011

Я бы рекомендовал использовать c_str для представления вашей строки в виде массива символов (или даже лучше начинать с массива символов, а не типа данных строки).После того, как вы сделаете это, напишите функцию, которая будет проходить через каждый массив и сравнивать символы (удаляя их там, где это необходимо), это немного неэффективно, но это сделает работу и это просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...