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

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

Восстановить пароль Регистрация
 
BezProgramm
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 20
22.10.2013, 15:19     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #1
Помогите пожалуйста с заданием.
Написать программу, которая считывает две строки символов, состоящие только из цифр и пробелов (напишите подпрограмму для посимвольного ввода с проверкой). Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экран.

Битый час с ней мучаюсь. Посоветовали ваш форум.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2013, 15:19     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра
Посмотрите здесь:

C++ Как из первой строки удалить те буквы, которые есть во второй строке?
Удалить из первой строки символы, которых нет во второй C++
C++ Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки
Даны две строки. Получить строку, в которой чередуются слова первой и второй строки C++
C++ строки.... вывести на экран все символы которые находятся во второй половине текста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
22.10.2013, 15:29     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #2
Цитата Сообщение от BezProgramm Посмотреть сообщение
Битый час с ней мучаюсь
дак и где то что за час написали?
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,579
Записей в блоге: 17
22.10.2013, 15:31     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #3
Цитата Сообщение от BezProgramm Посмотреть сообщение
Посоветовали ваш форум.
Может имели ввиду Фриланс ?
BezProgramm
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 20
22.10.2013, 15:58  [ТС]     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #4
Цитата Сообщение от Raali Посмотреть сообщение
дак и где то что за час написали?
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<iostream>  
#include<iomanip>
#include<math.h>
#include<conio.h>
#include<String.h>
#include <windows.h>
using namespace std; 
 
int main()
{   
    if(SetConsoleCP(1251)==0)
    {
        cerr<<"Fialed to set codepage!"<<endl;
    }
    if(SetConsoleOutputCP(1251)==0)
    {
        cerr<<"Failed to set OUTPUT page!"<<endl;
    }
 
    char str1[81];
    char ch;
    int i=0;
    cout << "Задайте строку символов\n";
    do
    {
        ch=_getch();
        if(ch==' '||ch=='>=0,<=9')
        {
            str1[i++]= ch;
            cout << ch;
        }
    } while (ch != '\r' && i < 81);
    str1[i]=’\0;
    cout << endl;
    cout << "Отсортированная строка:\n";
    cout << str1<< endl;
    _getch();
        return 0;
}
пробую
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
22.10.2013, 16:03     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #5
Цитата Сообщение от BezProgramm Посмотреть сообщение
if(ch==' '||ch=='>=0,<=9')
тут скорее всего
C++
1
if(ch==' '|| ( ch >= '0' && ch <= '9' ))
BezProgramm
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 20
22.10.2013, 16:06  [ТС]     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #6
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<iostream>  
#include<iomanip>
#include<math.h>
#include<conio.h>
#include<String.h>
#include <windows.h>
using namespace std; 
 
int main()
{   
    if(SetConsoleCP(1251)==0)
    {
        cerr<<"Fialed to set codepage!"<<endl;
    }
    if(SetConsoleOutputCP(1251)==0)
    {
        cerr<<"Failed to set OUTPUT page!"<<endl;
    }
 
    char str1[81], str2[81],str3[81];
    char ch;
    int i=0;
    cout << "Задайте строку символов\n";
    do
    {
        ch=_getch();
        if(ch==' '||ch >= '0' && ch <= '9')
        {
            str1[i++]= ch;
            cout << ch;
        }
    } while (ch != '\r' && i < 81);
    str1[i]='\0';
    cout << endl;
    cout << "Отсортированная строка:\n";
    cout << str3<< endl;
    //_getch();
        return 0;
}
вот,она немного исправлена
мне нужно записать теперь через функцию,чтобы программа считывала две строки
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
22.10.2013, 16:08     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #7
Цитата Сообщение от BezProgramm Посмотреть сообщение
чтобы программа считывала две строки
вот из этого и надо сделать функцию, которая на вход принимает char* str1
Цитата Сообщение от BezProgramm Посмотреть сообщение
do
{
ch=_getch();
if(ch==' '||ch >= '0' && ch <= '9')
{
str1[i++]= ch;
cout << ch;
}
} while (ch != '\r' && i < 81);
str1[i]='\0';
BezProgramm
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 20
22.10.2013, 16:12  [ТС]     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #8
как мне ее записать?
чтобы и 1 и 2 строка считывались?
через void и input
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
22.10.2013, 16:28     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #9
что то наподобие этого

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void input(char* s)
{
char ch;
int i=0;
do
{
ch=_getch();
if(ch==' '||ch >= '0' && ch <= '9')
{
s[i++]= ch;
cout << ch;
}
} while (ch != '\r' && i < 81);
s[i]='\0';
}
 
int main()
{
...
input(str1);
input(str2);
...
}
BezProgramm
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 20
22.10.2013, 16:33  [ТС]     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #10
да,уже сделал это,большое спасибо)
Теперь возникла другая проблема,как записать,чтобы исключить из второй строки символы,которые содержатся в 1 строке и записать в 3 строке
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
22.10.2013, 16:47     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #11
пройтись по всей второй строке, для каждого символа пустить цикл по первой строке - если нашли одинаковый символ - делаем continue; если не нашли то копируем в третью строку (со своим счетчиком) из текущего состояния второй строки и прибавляем к счетчику третьей строки 1
BezProgramm
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 20
25.10.2013, 01:06  [ТС]     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #12
Цитата Сообщение от Raali Посмотреть сообщение
пройтись по всей второй строке, для каждого символа пустить цикл по первой строке - если нашли одинаковый символ - делаем continue; если не нашли то копируем в третью строку (со своим счетчиком) из текущего состояния второй строки и прибавляем к счетчику третьей строки 1
А на языке С++ как это будет выглядеть?
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
25.10.2013, 11:39     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #13
Да это легкое задание:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <regex>
#include <string>
using namespace::std;
 
int main()
{
    string str1="hellow world gacpada!!!";
    string str2="lgc";
    cout <<"Enter str1(stroka) ... ";
    getline(cin,str1)
    cout <<"Enter str2(simvolu) ... ";
    cin >>str2;
        cout <<"do str1= "<<str1<<endl;
    str1=regex_replace(str1,regex("["+str2+"]"),string(""));
    cout <<"posle str1= "<<str1<<endl;
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2013, 19:33     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра
Еще ссылки по теме:

C++ Удалить из первой строки все символы, содержащиеся во второй строке
C++ Удалить из первой строки все символы, содержащиеся во второй строке
C++ Найти элементы, которые есть в первой структуре, но нет во второй

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

Или воспользуйтесь поиском по форуму:
BezProgramm
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 20
28.10.2013, 19:33  [ТС]     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра #14
Цитата Сообщение от Raali Посмотреть сообщение
пройтись по всей второй строке, для каждого символа пустить цикл по первой строке - если нашли одинаковый символ - делаем continue; если не нашли то копируем в третью строку (со своим счетчиком) из текущего состояния второй строки и прибавляем к счетчику третьей строки 1
Вас не затруднит "склеить" всю программу из кусков,которые мы тут составили и дописать ее,как вы сказали,чтобы циклически это выглядело?
Yandex
Объявления
28.10.2013, 19:33     Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра
Ответ Создать тему
Опции темы

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