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

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

Восстановить пароль Регистрация
 
Lexa777
0 / 0 / 0
Регистрация: 10.11.2011
Сообщений: 84
02.07.2013, 01:49     Написать функцию, которая отсекает пробелы, находящиеся в конце строки #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++ Описать функцию, которая удаляет из строки все лишние пробелы
Убрать пробелы в конце строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 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);
}
Yandex
Объявления
02.07.2013, 06:45     Написать функцию, которая отсекает пробелы, находящиеся в конце строки
Ответ Создать тему
Опции темы

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