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

Убрать слово из массива char

10.05.2018, 11:57. Показов 6520. Ответов 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
40
41
42
43
44
45
46
47
48
#include "stdafx.h"
#include <iostream>
 
#include <string>
 
using namespace std;
 
 
int main()
{
    char s[] = "Hello world, htat HEl what's ap HIDF";  //исходная строка 
    char o = 'o'; //удаляемый символ
    char a = 'a';
    cout << s << endl;//вывод строки
 
                      //Удаление из строки s всех вхождений символа 'а'
    int i = 0;//индекс для исходной строки
    int j = i;//индекс для модифицированной строки
 
              //цикл модификации исходной строки
    while (s[i])//пока в строке не нулевой байт
    {
        //проверить текущий символ строки
        if (s[i] != o && s[i] != a) //если s[i] не равен 'a' и 'o'
 
                       //переписать текущий символ строки по новому индексу j
                       // и  увеличить индекс j единицу
            s[j++] = s[i];
        // и увеличить индекс i на единицу
        i++;
    }
    //запись нулевого байта в конец модифицированной строки
    s[j] = '\0';
    for (int i = 0; i < strlen(s); i++)
    {
        if (s[i] == ' ' && s[i+1] == s[0]   )
        {
                s[i+1] = 'j';
        
        }
    }//вывод результата
 
    cout << s << endl;
    
    cin.get();
    return 0;
    
};
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.05.2018, 11:57
Ответы с готовыми решениями:

Как убрать из char массива пробел
Дана переменная char *str2; В каждом элементе находится слово и в нём пробел. Подскажите как убрать пробел.

В чем отличие двумерного массива типа char от массива указателей на char?
В чем отличие двумерного массива типа char и массива указателей на char ?

array char* to char* (значения массива указателей в один указатель)
Как сложить(или вывести в формате char*) все значения массива указателей(char *) воедино, то есть сложить строки и назначить результату...

4
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
10.05.2018, 12:07
что значит удалить?
из массива уже ничего не удалить, у него фиксированный размер.
0
 Аватар для igorrr37
2872 / 2019 / 991
Регистрация: 21.12.2010
Сообщений: 3,754
Записей в блоге: 9
10.05.2018, 12:45
Цитата Сообщение от SimpleJack Посмотреть сообщение
С удаление символов я разобрался
можно проще
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstring>
 
 
int main()
{
    char str[] = "Hello world, htat HEl what's ap HIDF";  //исходная строка 
    char sym[] = "ao"; //удаляемые символы
    for (char* p1 = str, *p2 = str; *p2 = *p1; ++p1)
    {
        if (!strchr(sym, *p2) && ++p2)
        {
        }
    }
    std::cout << str << std::endl;
}
0
0 / 0 / 0
Регистрация: 10.04.2018
Сообщений: 6
10.05.2018, 14:40  [ТС]
GbaLog-, под удалением я подразумеваю или замену элемента массива на какой-то другой элемент, или замену на ' '.

Добавлено через 1 минуту
igorrr37, Видел подобное решение, но мне показалось что данный мною вариант яснее в плане понимания.
0
 Аватар для igorrr37
2872 / 2019 / 991
Регистрация: 21.12.2010
Сообщений: 3,754
Записей в блоге: 9
10.05.2018, 16:27
удаление слов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <regex>
using namespace std::string_literals;
 
 
int main()
{
    char str[] = "hello world, that ,hEl hel what's ap hIDF";  //исходная строка 
    std::regex reg{ "(^|[^[:alpha:]])"s + *str + "[[:alpha:]]*(?=$|[^[:alpha:]])" }; // слово
    auto ie = std::regex_replace(str, str, str + strlen(str), reg, "$1"); // удаление слов
    *ie = 0; 
    std::cout << str << std::endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.05.2018, 16:27
Помогаю со студенческими работами здесь

Поворот массива на 90 градусов (cannot convert form char to char*)
Пытаюсь повернуть массив на 90 градусов. Понимаю что проблема в преобразовании данных, но не знаю как исправить( Может кто подсказать...

Приведение массива char[] (или char* ) в LPCTSTR
Задача: пользователь вводит директорию, нужно проверить существует ли эта директория. Функция DirExists проверки работает правильно, но...

Запись в *char элемента из массива *char[i]
Есть динамический массив, например char *drives = {&quot;A:&quot;, &quot;B:&quot;, &quot;C:&quot;, &quot;D:&quot;, &quot;E:&quot;, &quot;F:&quot;, &quot;G:&quot;, &quot;H:&quot;, &quot;I:&quot;, &quot;J:&quot;, &quot;K:&quot;,...

Вивести саме довге слово из 3 массивов char
Вивести саме довге слово из 3 массивов char char name,surname,patronymic; Добавлено через 11 минут нужна только проверка!!!!

Как убрать слово из строки
Привет! Мне надо убрать последнее повторяющееся слово из строки $str = &quot; idR = $v OR idR = $v OR idR = $v OR idR = $v OR &quot;; вот...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru