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

Удалить символ из строки

02.11.2019, 14:50. Показов 3079. Ответов 14

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста. Мне нужно удалить все введёные буквы из строки. Например : Ввожу 1ab34c --- > 134
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.11.2019, 14:50
Ответы с готовыми решениями:

Удалить символ из строки
Необходимо удалить из строки восклицательный знак.Есть работающий код, но нужно реализовать это используя функции из библиотек...

Удалить символ из строки
Данна строка удалить символ (:) и подсчитать количество удаленных символов...

Удалить символ из строки
Здравствуйте! Помогите пожалуйста. В задаче нужно удалить символ из строки (оба вводит пользователь), НО без использования какихлибо...

14
8 / 5 / 3
Регистрация: 02.01.2019
Сообщений: 17
02.11.2019, 15:13
Внизу этой страницы есть уже подобные темы.

Добавлено через 20 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main()
{
    string a, b;
    cin >> a;
    for (int i = 0; i < int(a.size()); i++)
    {
        if(!(a[i]>='a' && a[i]<='z'))
        {
            b+=a[i];
        }
    }
    cout << b;
    return 0;
}
Тестируй
0
1 / 1 / 0
Регистрация: 26.10.2019
Сообщений: 25
02.11.2019, 15:31  [ТС]
Помогите пожалуйста преоброзовать этот код в Функию.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
02.11.2019, 15:36
Цитата Сообщение от Romsik788 Посмотреть сообщение
cin >> a; Тестируй
строка так не вводится
Цитата Сообщение от Romsik788 Посмотреть сообщение
a[i]>='a' && a[i]<='z'
заглавные тоже нужно учесть
0
7 / 5 / 1
Регистрация: 16.02.2019
Сообщений: 56
02.11.2019, 15:36
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
func()
{
    string a, b;
    cin >> a;
    for (int i = 0; i < int(a.size()); i++)
    {
        if(!(a[i]>='a' && a[i]<='z'))
        {
            b+=a[i];
        }
    }
    cout << b;}
main(){
func();
return 0;}
0
1 / 1 / 0
Регистрация: 26.10.2019
Сообщений: 25
02.11.2019, 15:37  [ТС]
vav
0
8 / 5 / 3
Регистрация: 02.01.2019
Сообщений: 17
02.11.2019, 15:42
Yetty, про заглавные как бы ничего не сказано, но если так то вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
void func()
{
    string a, b;
    cin >> a;
    for (int i = 0; i < int(a.size()); i++)
    {
        if(!((a[i]>='a' && a[i]<='z') || (a[i]>='A' && a[i]<='Z')))
        {
            b+=a[i];
        }
    }
    cout << b;
}
int main(){
func();
return 0;}
0
1 / 1 / 0
Регистрация: 26.10.2019
Сообщений: 25
02.11.2019, 15:42  [ТС]
Буквы удаляет,а можно ли сделать так чтобы вместо букв был + .Например : 1ab34c -7d5.091" 1+34-7+5.091 = 33.091
Чтобы мне при ввыводе строки все оставшие числа складывались.
0
8 / 5 / 3
Регистрация: 02.01.2019
Сообщений: 17
02.11.2019, 15:48
Artjoms21, выше чекай

Добавлено через 4 минуты
Artjoms21,
Цитата Сообщение от Artjoms21 Посмотреть сообщение
а можно ли сделать так чтобы вместо букв был + .Например : 1ab34c -7d5.091" 1+34-7+5.091 = 33.091
это уже как бы другая задача, но сделать такое я думаю можно
0
1 / 1 / 0
Регистрация: 26.10.2019
Сообщений: 25
02.11.2019, 15:51  [ТС]
В основном задача состоит таким образом :



Вычислить сумму чисел,которые встречаются в символьном ряду.Числа могут быть целые,не целые,а также положительные и отрицательные. Например : 1 ab34c -7d5.091 -----> 1+34-7+5.091 = 33.091
0
14 / 11 / 3
Регистрация: 16.10.2019
Сообщений: 95
02.11.2019, 16:12
Хотел сделать все только одной строкой, в конце, обмануть не получилось
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 "pch.h"
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string S = { "ssssss1ab34c" };
    cout << S << endl << endl;
    cout << sizeof(S) << endl << endl;
    int i;
    int count = 0;
    for ( i = 0; i < S.length(); i++)
    {
        char change;
        for (int j = i; j < S.length(); j++)
        {
            if (isdigit(S[i]))
            {
                count++;
                break;
            }
            
            if (!isdigit(S[i]) && isdigit(S[j]))
            {
                change = S[j];
                S[j] = S[i];
                S[i] = change;
            }
                    
        }
    }
    S[count] = '\0';
 
    cout << S << endl << endl;
 
 
    system("pause");
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
02.11.2019, 16:12
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
#include <iostream>
#include <string>
#include <sstream> 
using namespace std;
 
int main()
{
    int i=0;
    double a, sum=0.;
    string s;
    cout << "String:\n";
    getline(cin, s);
    
    while (s[i])
    {
        if (isalpha(s[i])) s[i]=' ';
        i++;
    }    
    
    stringstream numbers(s);
    while (numbers >> a)
    {
        sum+=a;        
    }
    
    cout << "sum=" << sum << "\n";    
    
system("pause");
return 0; 
}
0
1 / 1 / 0
Регистрация: 26.10.2019
Сообщений: 25
02.11.2019, 16:16  [ТС]
Можно ли как-то изменить код использую тип *char. И как-нибудь раскидать код по функциям,мне кажеться так будет легче понять.Помогите пожалуйста.
0
1 / 1 / 0
Регистрация: 26.10.2019
Сообщений: 25
02.11.2019, 16:34  [ТС]
Помогите пожалуйста преоброзовать код по типу *char и расписать код по функциям.


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
#include <iostream>
#include <string>
#include <sstream> 
using namespace std;
 
int main()
{
    int i=0;
    double a, sum=0.;
    string s;
    cout << "String:\n";
    getline(cin, s);
    
    while (s[i])
    {
        if (isalpha(s[i])) s[i]=' ';
        i++;
    }    
    
    stringstream numbers(s);
    while (numbers >> a)
    {
        sum+=a;        
    }
    
    cout << "sum=" << sum << "\n";    
    
system("pause");
return 0;
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
02.11.2019, 17:25
Лучший ответ Сообщение было отмечено Artjoms21 как решение

Решение

Цитата Сообщение от Artjoms21 Посмотреть сообщение
по типу *char
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
#define _SILENCE_CXX17_STRSTREAM_DEPRECATION_WARNING
#include <iostream>
//#include <string>
#include <strstream> 
using namespace std;
 
int main()
{
    int i = 0;
    double a, sum = 0.;
    char s[256];
    cout << "String:\n";
    cin.getline(s,100);
 
    while (s[i])
    {
        if (isalpha(s[i])) s[i] = ' ';
        i++;
    }
 
    istrstream numbers(s);
    while (numbers >> a)
    {
        sum += a;
    }
 
    cout << "sum=" << sum << "\n";
 
    system("pause");
    return 0;
}
Цитата Сообщение от Artjoms21 Посмотреть сообщение
расписать код по функциям
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
#define _SILENCE_CXX17_STRSTREAM_DEPRECATION_WARNING
#include <iostream>
//#include <string>
#include <strstream> 
using namespace std;
void RemoveLetters(char* str)
{
    for(int i=0;str[i];i++)
    {
        if (isalpha(str[i])) str[i] = ' ';
    }
}
double CountSum(char* str)
{
    double sum = 0,a;
    istrstream numbers(str);
    while (numbers >> a)
    {
        sum += a;
    }
    return sum;
}
 
int main()
{
    char s[256];
    cout << "String:\n";
    cin.getline(s,100);
 
    RemoveLetters(s);
    double sum = CountSum(s);
    cout << "sum=" << sum << "\n";
    
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2019, 17:25
Помогаю со студенческими работами здесь

Не получается удалить символ из строки
подскажите как можно удалить знак пунктуации из строки? написал код: #include &lt;iostream&gt; #include &lt;string&gt; #include...

Как удалить заданый символ из строки
Подскажите пожалуйста как удалить из строки например символ 'a' и вивести эту строку без этого символа?

Работа со строками. Как удалить символ с строки
Здраствуйте помогите пожалуйста. не знаю как удалать символы с строки знаю что с помощью ERASE но не знаю как помогите пожалуйста!

Как удалить последний символ строки(голову в стеке)
struct List { int x; List *Next,*Head;} ; void Add (int x, List **MyList) {

Удалить символ из строки, который совпадает с заданным символом
нужно написать программу с функцией, которая удаляет из строки все элементы, совпадающие с заданным символом... помогите с написанием...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru