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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lexa777
0 / 0 / 0
Регистрация: 10.11.2011
Сообщений: 85
#1

Написать функцию, которая отсекает пробелы, находящиеся в конце строки - C++

02.07.2013, 01:49. Просмотров 519. Ответов 1
Метки нет (Все метки)

Помогите написать программу, для меня она показалось очень тяжелой, такое примечание меня испугало и я не знаю как это сделать...
Буду очень благодарен, если кто то откликнется...Спасибо)

Задание: Удаление пробелов в конце строки Написать функцию, которая отсекает пробелы, находящиеся в конце строки. Строка хранится в динамической памяти, размер блока памяти в процессе работы функции должен быть изменен в соответствии с новым размером строки.
В результате тестирования функции должна быть выведена получившаяся строка, а также число усеченных пробелов.

Примечание: В каждой задаче должна быть реализована проверка на целостность кучи. При работе со строками учитывать символ конца строки (байт с нулевым значением).
Заполнение элементов массива (там, где это требуется) должно быть реализовано в виде отдельной функции. В этой функции запрашивается количество элементов массива, затем пользователю предоставляется выбор – либо вводить массив с клавиатуры, либо заполнить его автоматически (случайными числами).
В случаях, когда функция сама формирует массив, она должна посредством своих аргументов (объявленных как указатели) передать в вызывающую программу новый массив и число его элементов. Возвращаемое функцией число должно означать код ошибки (например, 0 – нет ошибки, ненулевое число – код конкретной ошибки).
Размер блока, выделенного под строку, увеличивается при вводе очередного символа. Строка генерируется внутри функции ввода. Функция возвращает указатель на начало строки. Ввод строки завершается при нажатии клавиши Enter, код Enter в строке не сохраняется.
Если на каком-либо этапе память выделить невозможно, то необходимо освободить всю выделенную ранее память и завершить программу. Особое внимание уделить обработке различных ошибок – при их возникновении необходимо освобождать все ставшие ненужными ресурсы. При формировании нового массива можно реализовать любой из следующих алгоритмов, либо разработать свой:1) создать новый массив и перенести в него нужные элементы.2) скопировать исходный массив и поэлементно его изменять (например, переставлять элементы).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 01:49     Написать функцию, которая отсекает пробелы, находящиеся в конце строки
Посмотрите здесь:

функция, которая обрезает пробелы в конце переданной ей строки - C++
Ребята, здравствуйте, Подскажите, пожалуйста, как написать функцию (на С/С++), которая обрезает пробелы в конце переданной ей строки. ...

Написать функцию, которая удаляет все лишние пробелы - C++
Доброго дня суток. Помогите пожалуйста.. Нужно написать функцию, которая удаляет все лишние пробелы, т. е. из нескольких подряд идущих...

Описать функцию, которая удаляет из строки все лишние пробелы - C++
Помогите пожалуйста решить! Заранее благодарен!) Описать функцию, которая удаляет из строки все лишние пробелы. Пробелы считаются...

Написать программу, которая удаляет из введенной с клавиатуры строки конечные пробелы - C++
Пожалуйста помогите... Написать программу, которая удаляет из введенной с клавиатуры строки конечные пробелы. заранее спасибо

Написать программу, которая удаляет конечные пробелы из введенной с клавиатуры строки - C++
Написать программу, которая удаляет конечные пробелы из введенной с клавиатуры строки.

Написать программу, которая удаляет из введенной с клавиатуры строки начальные пробелы. - C++
Написать программу, которая удаляет из введенной с клавиатуры строки начальные пробелы.

Обрезать пробелы в конце строки. - C++
Задача образеть пробелы в конце строки(строка может быть очень большой). Строка передаётся в функцию void TrimRight( char *s ), нужно...

Убрать пробелы в конце строки - C++
Условие : Опишите функцию, удаляющую в строке все начальные и все конечные пробелы. Все начальные пробелы убрать у меня получилось. А как...

Удалить пробелы в начале и конце строки - C++
Удалить группу пробелов, с которых, возможно начинается и заканчивается строка строки читаются из файла и выводятся в файл Разрешено...

Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы. - C++
Приветик всем.Немогли бы вы мне написать эти 2 програмки Написать и протестировать функцию compress(), которая "сжимает" строку,...

Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. - C++
Тема "Нестандартные функции" Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. Символьная строка...

Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы. - C++
Добрый вечер))не могли бы вы мне помочь с задачками,они в принципе лёгкие ,мы только начали изучать Си++ ,но я уже не понимаю,если не...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
02.07.2013, 06:45     Написать функцию, которая отсекает пробелы, находящиеся в конце строки #2
Lexa777, Остальные примечание сделаете сами
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
char* getString()
{
    char* base = 0, ch;
    int size = 0;
    while ((ch = getchar()) && ch != EOF && ch != '\n')
    {
        base = (char*)realloc(base, size+1);
        base[size++] = ch;
    }
    base[size] = '\0';
    return &base[0];
}
 
int deleteSpaces(char* base)
{
    int i = strlen(base)-1;
    int j = i;
    while (isspace(base[i--]));
    base = (char*)realloc(base, i+3);
    base[i+2] = '\0';
    return j-i-1;
}
 
int main()
{
    printf("%s", "Put line: ");
    char* line = getString();
    printf("Delete %d spaces. Result line: %s\n", deleteSpaces(line), line);
    free(line);
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru