Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 23.11.2019
Сообщений: 8
1

Написать функцию, которая исключает из строки s1 любой из символов строки s2

23.11.2019, 23:57. Показов 1541. Ответов 5

Author24 — интернет-сервис помощи студентам
помогите разобраться с вводом функций. Задали задачу и сделал тупо прогу , а как оказалось необходимо сделать функцию.
Долго не спал, поэтому скорее всего что-то сделал коряво и мб из-за этого туплю с ошибкой
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
#include <cstring>
#include <iostream>
 
using namespace std;
void izm(char a, char b)
{
 
     int i=0, j=0, t=0;
    char c;
     while(i<strlen(b))
    {
        while(j<strlen(a))
        {
            if(b[i]==a[j]) {a[j]=' ';}
             j++;
        }
        j=0; i++;
    }
    i=0;
    j=0;
    while ( j<strlen(a))
    {
        if(s1[j]==' '){}
            else{ c[i]=a[j]; i++; }
            j++;
    }
}
int main()
{
 
    char s1[50],s2[50],s[50];
    cout<<"BBEDuTE s1:"<<endl;
    cin>>s1;
    cout<<"BBEDuTE s2:"<<endl;
    cin>>s2;
    cout<<"nOLy4EHHOE CTPOKA:"<<endl;
 
  s=izm(s1, s2)
    cout<<s;
    return 0;
}
Добавлено через 1 минуту
вот изначальный код проги без функции где всё работает
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
#include <cstring>
#include <iostream>
 
using namespace std;
void izm(char a, char b)
{
 
     int i=0, j=0, t=0;
    char c;
     while(i<strlen(b))
    {
        while(j<strlen(a))
        {
            if(b[i]==a[j]) {a[j]=' ';}
             j++;
        }
        j=0; i++;
    }
    i=0;
    j=0;
    while ( j<strlen(a))
    {
        if(s1[j]==' '){}
            else{ c[i]=a[j]; i++; }
            j++;
    }
}
int main()
{
 
    char s1[50],s2[50],s[50];
    cout<<"BBEDuTE s1:"<<endl;
    cin>>s1;
    cout<<"BBEDuTE s2:"<<endl;
    cin>>s2;
    cout<<"nOLy4EHHOE CTPOKA:"<<endl;
 
  s=izm(s1, s2)
    cout<<s;
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2019, 23:57
Ответы с готовыми решениями:

Написать функцию, которая исключает из строки s1 любой из символов строки s2
Напишите функцию, которая исключает из строки s1 любой из символов строки s2

Написать функцию, которая ищет в строке s1 любой символ из строки s2
Написать функцию, которая ищет в строке s1 любой символ из строки s2 (char *strpbrk(char *s1, char...

Написать функцию, которая возвращает массив символов с элемента N по M из заданной строки
Стоит задача написать функцию, которая возвращает массив символов с элемента N по M из заданной...

Написать функцию, которая возвращает N правых символов в виде строки
Помогите пожалуйста с программой: Функция - RIGHT(C:STRING;n:INTEGER):STRING - возвращает N...

5
12 / 8 / 5
Регистрация: 28.01.2019
Сообщений: 54
24.11.2019, 00:12 2
два одинаковых кода выложили
Цитата Сообщение от renegatoff Посмотреть сообщение
где всё работает
0
0 / 0 / 0
Регистрация: 23.11.2019
Сообщений: 8
24.11.2019, 00:16  [ТС] 3
Извиняюсь, вот изначальный код
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
#include <cstring>
#include <iostream>
 
using namespace std;
 
int main()
{
    int i=0, j=0, t=0;
    char s1[50],s2[50],s[50];
    cout<<"BBEDuTE s1:"<<endl;
    cin>>s1;
    cout<<"BBEDuTE s2:"<<endl;
    cin>>s2;
    cout<<"nOLy4EHHOE CTPOKA:"<<endl;
 
    while(i<strlen(s2))
    {
        while(j<strlen(s1))
        {
            if(s2[i]==s1[j]) {s1[j]=' ';}
             j++;
        }
        j=0; i++;
    }
    i=0;
    j=0;
    while ( j<strlen(s1))
    {
        if(s1[j]==' '){}
            else{ s[i]=s1[j]; i++; }
            j++;
    }
    cout<<s;
    return 0;
}
0
12 / 8 / 5
Регистрация: 28.01.2019
Сообщений: 54
24.11.2019, 00:44 4
попробуйте так
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
#include <cstring>
#include <iostream>
 
using namespace std;
void izm()
{
 int i=0, j=0, t=0;
    char s1[50],s2[50],s[50];
    cout<<"BBEDuTE s1:"<<endl;
    cin>>s1;
    cout<<"BBEDuTE s2:"<<endl;
    cin>>s2;
    cout<<"nOLy4EHHOE CTPOKA:"<<endl;
 
    while(i<strlen(s2))
    {
        while(j<strlen(s1))
        {
            if(s2[i]==s1[j]) {s1[j]=' ';}
             j++;
        }
        j=0; i++;
    }
    i=0;
    j=0;
    while ( j<strlen(s1))
    {
        if(s1[j]==' '){}
            else{ s[i]=s1[j]; i++; }
            j++;
    }
    cout<<s;
}
 
int main()
{
izm();
return 0;
}
0
6105 / 3460 / 1405
Регистрация: 07.02.2019
Сообщений: 8,794
24.11.2019, 09:14 5
renegatoff,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <string>
#include <set>
 
std::string exclude_str(const std::string& s1, const std::string& s2)
{
    std::set<char> char_set{ s2.cbegin(), s2.cend() };
    std::string result;
    for (const auto& ch : s1)
    {
        if (char_set.find(ch) == char_set.cend())
            result.push_back(ch);
    }
    return result;
}
 
int main()
{
    std::cout << exclude_str("some string...", "another one...");
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
25.11.2019, 01:54 6
zayats80888, работает, но написать функцию не значит взять готовые

renegatoff,
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
#include <iostream>
#include <string>
using namespace std;
 
void exclude_str(string& s1, string const& s2)
{
    string s3;
    int i=0, j, k;
    while(s1[i])
    {
        j=k=0;
        while(s2[j])
        {
            if(s1[i]==s2[j]) {k=1;break;}
            j++;
        }
        if (k==0) s3+=s1[i];
    i++;
    }
    
    s1=s3;  
}
 
int main()
{
    string s1="some string...", s2="another one...";
    exclude_str(s1,s2);
    cout << s1 << "\n";
system("pause");
return 0;
}
1
25.11.2019, 01:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2019, 01:54
Помогаю со студенческими работами здесь

Разработать функцию,которая перекрывает символы строки заданным количеством символов другой строки, начиная с заданной позиции
Разработать функцию,которая перекрывает символы строки заданным количеством символов другой строки,...

Написать функцию, которая выводит строку, состоящую из одинаковых символов. Длина строки и символ являются параметрами процедуры
Написать функцию, которая выводит строку, состоящую из одинаковых символов. Длина строки и символ...

написать функцию которая вычисляет разность множеств X\Y, т.е. исключает из списка X все элементы, встречающиеся в списке Y
написать функцию которая вычисляет разность множеств X\Y, т.е. исключает из списка X все элементы,...

Написать программу, которая удаляет из введенной строки любой введенный символ
Написать программу, которая удаляет из введенного рядка любой необходимый введенный с клавиатуры...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru