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

Удаление из строки символа, введенного пользователем - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Denis2614
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 48
09.01.2014, 18:50     Удаление из строки символа, введенного пользователем #1
Нужен код чтобы программа удаляла из строки символ, введенный пользователем и результат выводила на экран.







Всем спасибо кто откликнулсяС новым годом!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2014, 18:50     Удаление из строки символа, введенного пользователем
Посмотрите здесь:

C++ Удаление символа из строки
C++ Удаление символа строки
C++ Удаление символа из строки
C++ Умножение введенного пользователем числа на 3
C++ Удаление слова введенного пользователем
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
09.01.2014, 18:54     Удаление из строки символа, введенного пользователем #2
Цитата Сообщение от Denis2614 Посмотреть сообщение
Нужен код чтобы программа удаляла из строки символ, введенный пользователем и результат выводила на экран.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string str;
    char ch;
    cout <<"Stroka: ";
    getline (cin,str);
    cout <<"Symbol: ";
    cin >> ch;
    while (str.find(ch)!=-1)
        str.erase(str.find(ch),1);
    cout <<str <<endl;
    return 0;
}
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
20.01.2014, 18:16     Удаление из строки символа, введенного пользователем #3
Denis2614, Так сойдет?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<string>
int main()
{
    std::string str;
    std::getline(std::cin,str);
    char symbol;
    int N = str.length();
    std::cin>>symbol;
    int temp = 0;
    for(int i=0; i<N; i++)
        if(str[i]==symbol)
            temp++;
        else
            str[i-temp]=str[i];
    N-=temp;
    for(int i=0;i<N;i++)
        std::cout<<str[i];
 
 
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4924 / 2667 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
20.01.2014, 18:24     Удаление из строки символа, введенного пользователем #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
int main()
{
    std::string str;
    char c;
    std::cout << "Enter string: ";
    std::getline(std::cin, str);
    std::cout << "Enter symbol: ";
    c = std::cin.get();
    str.erase(str.find(c), 1);
    std::cout << "Result: " << str << std::endl;
}
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
20.01.2014, 18:30     Удаление из строки символа, введенного пользователем #5
MrGluck, Насколько я понял удаление ему нужно было через массив
Цитата Сообщение от Denis2614 Посмотреть сообщение
Все это надо сделать без функций , используя только массив
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4924 / 2667 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
20.01.2014, 19:05     Удаление из строки символа, введенного пользователем #6
Цитата Сообщение от cooller_94 Посмотреть сообщение
MrGluck, Насколько я понял удаление ему нужно было через массив
пусть пока считает, что string - массив символов потому как если я тут начну приводить пример про удаление из динамического массива и изменение его размера, то ТС все равно скажет, что "слишком сложно". Из статического массива по сути удалить нельзя, а принимать уменьшение переменной, отвечающей за размер массива за действительное удаление элементов - не считаю себя достойным. Вдобавок, мой вариант может быть интересен кому-нибудь, кто знает чуть больше "Hello world".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2014, 22:25     Удаление из строки символа, введенного пользователем
Еще ссылки по теме:

C++ Работа со строками (удаление из строки указанного символа)
C++ Сумма цифр введенного пользователем числа
C++ Удаление символа перевода строки из самого конца файла

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

Или воспользуйтесь поиском по форуму:
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
20.01.2014, 22:25     Удаление из строки символа, введенного пользователем #7
Нужен код чтобы программа удаляла из строки символ, введенный пользователем и результат выводила на экран.
P.S. Все это надо сделать без функций , используя только массив .
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main() {    
  char s[256];  
  std::cin.getline(s, sizeof(s));    
  char c = std::cin.get();
  
  int j = 0;    
  for(int i = 0; s[i] != '\0'; ++i)
    if(s[i] != c)
      s[j++] = s[i];            
  s[j] = '\0';
  
  std::cout << s << std::endl;
}
Yandex
Объявления
20.01.2014, 22:25     Удаление из строки символа, введенного пользователем
Ответ Создать тему
Опции темы

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