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

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

10.05.2021, 21:53. Показов 2458. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста, нужна именно программа с ФУНКЦИЕЙ
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2021, 21:53
Ответы с готовыми решениями:

Напишите функцию ,которая удаляет из переданной ей символьной строки все лишние пробелы, заменяя повторяющиес
:) Напишите функцию ,которая удаляет из переданной ей символьной строки все лишние пробелы, заменяя повторяющиеся пробелы на один пробел:)

Напишите функцию, которая удаляет из переданной ей символьной строки все символы '<' и '>'
Напишите функцию, которая удаляет из переданной ей символьной строки все символы '&lt;' и '&gt;'. .

Напишите функцию , которая удаляет из переданной ей символьной строки все символы, заключённые в угловые '<'
Напишите функцию , которая удаляет из переданной ей символьной строки все символы, заключённые в угловые '&lt;' и '&gt;'(вместе с этими...

10
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
10.05.2021, 22:42
Aadelinaa, Две варианта вам:
1. Использовать std::string
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
#include <iostream>
#include <string>
using namespace std;
 
string RemoveFirstSpaces(string str)
{
    string ret = "";
    int dem = 0, len = str.length();
    while (str[dem] == ' ')
    {
        dem++;
    }
    for (int i = dem; i < len; i++)
        ret += str[i];
    return ret;
}
int main()
{
    string str = "   abcd hgj  ";
    cout << str << endl;
    string ret = RemoveFirstSpaces(str);
    cout << ret;
    return 0;
}
2. Без std::string
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
#include <iostream>
#include <string>
using namespace std;
 
char* RemoveFirstSpaces(const char* str)
{
    int dem = 0, len = strlen(str);
    char* ret = new char[len + 1];
    while (str[dem] == ' ')
    {
        dem++;
    }
    for (int i = dem; i < len; i++)
        ret[i - dem] = str[i];
    ret[len - dem] = '\0';
    return ret;
}
 
int main()
{
    const char* str = "   abcd hgj   ";
    cout << str << endl;
    char* ret = RemoveFirstSpaces(str);
    cout << ret;
    delete[] ret;
    return 0;
}
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
11.05.2021, 06:28
Цитата Сообщение от Volga_ Посмотреть сообщение
Без std::string
Попытался сделать тоже самое, но с выделением памяти и без строковых функций. Вроде работает, но не понимаю как потом правильно освободить память?
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
#include <iostream>
#include <cstdlib>
using namespace std;
 
char *RemoveFirstSpaces(char* str) 
{
    int len = 0, i = 0, begin;
    while(str[i++] != ' ');
    i++, begin = i+1;
    while(str[i++] != '\0') len++;
    char *ret = (char*)malloc(len * sizeof(char));
    for(i=0; i<len; i++) 
        ret[i] = str[begin++];
    return ret;
}
 
 
int main()
{
    char str[] = "   abcd hgj  !";
    cout << str << endl;
    cout << RemoveFirstSpaces(str) << endl;
    return 0;
}
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
11.05.2021, 07:16
Цитата Сообщение от мама Стифлера Посмотреть сообщение
cout << RemoveFirstSpaces(str) << endl;
Я не проверил функцию RemoveFirstSpaces() у вас. По принципу вы сможете освободить память как:
C++
1
2
3
    char* s = RemoveFirstSpaces(str);
    cout << s << endl;
    free(s);
1
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
11.05.2021, 08:05
Volga_, спасибо, я уже это проходил даже, но вот немножко забыл )) Звездочка перед функцией - как это работает?
1
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
11.05.2021, 08:10
мама Стифлера, отлично. Всего хорошего.
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
11.05.2021, 10:03
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
char *f(char *s){
   char *p=s;
   size_t i=0,j=0;
 
   while(s[i]==' ')i++;
   while(s[i])p[j++]=s[i++];
   p[j]='\0';
   return s;
}
 
int main(){
 
     char s[]="   123  456  789";
     cout<<s<<"\n";
     cout<<f(s)<<"\n";
 
     system("pause");
     return 0;
}
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
11.05.2021, 10:28
повар1,
Цитата Сообщение от Aadelinaa Посмотреть сообщение
возвращает новую строку
Вы заменяли начальную строку, это нельзя по-моему (условие задачи не так).
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
11.05.2021, 11:10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
using namespace std;
 
string RemoveFirstSpaces(string str)
{
    auto it = str.begin();
    while(it!=str.end() && *it==' ')
        ++it;
    return string(it, str.end());
}
int main()
{
    string str = "   abcd hgj  ";
    cout << str << endl;
    string ret = RemoveFirstSpaces(str);
    cout << ret;
    return 0;
}
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
11.05.2021, 11:29
Цитата Сообщение от Volga_ Посмотреть сообщение
Вы заменяли начальную строку
Цитата Сообщение от Aadelinaa Посмотреть сообщение
удаляет из символьной строки все пробелы
это и есть новая строка
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
11.05.2021, 11:30
Aadelinaa, ваше условие противоречиво:
Цитата Сообщение от Aadelinaa Посмотреть сообщение
Напишите функцию, которая удаляет из символьной строки все пробелы в начале строки и возвращает новую строку
Напишите исходный текст. Возможно тот соответствует элементарной логике.
Проблема вашей редакции в том, что:
Напишите функцию, которая удаляет из символьной строки все пробелы в начале строки
Означает что исходная функция будет урезана спереди отбрасывая все пробелы идущие непрерывным блоком, до перврго непробельного символа. Это значит, что переданная строка изменится на вызывающей стороне и станет начинаться с первого непробельного символа. Но тогда вторая часть условия
Цитата Сообщение от Aadelinaa Посмотреть сообщение
и возвращает новую строку
бессмысленна. Можно сделать сколько угодно копий исходной строки вне функции (по символьно в цикле если библиотеки запрещены).
То есть, неразумное задание. Приведите своё задание дословно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.05.2021, 11:30
Помогаю со студенческими работами здесь

Напишите функцию, которая удаляет из переданной ей символьной строки все символы, заключенные в угловые скобки
Напишите функцию, которая удаляет из переданной ей символьной строки все символы, заключенные в угловые скобки '&lt;' и '&gt;' (вместе с ...

Реализовать функцию, которая принимает строку в качестве аргумента и удаляет из этой строки все пробелы
Всем привет! Нужна Ваша помощь. Есть задачка - написать функцию, которая принимает строку в качестве аргумента и удаляет из этой строки все...

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

Описать функцию, которая удаляет из строки все лишние пробелы
Нужно чтобы символы из строки записались в vector поэлементно. Но когда использую stringstream, то он считывает только до первого пробела....

Описать функцию, которая удаляет из строки все лишние пробелы.
Описать функцию, которая удаляет из строки все лишние пробелы. Пробелы считаются лишними, если их подряд идет более двух, если они стоят в...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
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 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru