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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
estel
1 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 31
#1

Удаление пробелов с использованием стандартных библиотек - C++

12.05.2012, 19:25. Просмотров 1162. Ответов 7
Метки нет (Все метки)

У меня есть код удаления пробелов из строки с использованием библиотеки string и перевод полученной строки без пробелов в число, но по условию моей задачи я не должна использовать <string.h>

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

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 <stdio.h> 
 #include <stdlib.h> 
 #include <conio.h>
 //#include <string.h>
 int main()
{
    char str[1024]; 
    long value;
    printf("Enter text\n");
    scanf("%[^\n]",str);//Так можно ввести строку с пробелами
 
 
    for(int i = 0; str[i + 1] != '\0'; i++)
    {
        if(str[i] == ' ')
        if(strcpy(&str[i],&str[i + 1]))
            i--;
    }
 
    printf("String after removing text : %s\n",str);
 
    value = atoi(str);
    printf("%d\n", value);
 
    _getch();
    return 0;
  }
Хотелось бы узнать, как можно перезаписать массив в котором я удаляю пробелы(строка 17 кода) использую стандартные библиотеки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2012, 19:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление пробелов с использованием стандартных библиотек (C++):

Описание стандартных библиотек C++ для работы с SNMP v1 - C++
Всем доброго дня. Озадачили меня соединить мои демоны под linux-ом с контроллером через SNMP. Полез искать стандартные библиотеки и...

Как называется ресурс содержащий описание стандартных библиотек Microsoft? - C++
Как называется ресурс содержащий описание стандартных библиотек Microsoft и списки функций и аргументов которые они принимают?

Список функций из стандартных dll библиотек (lib.exe MVS) - C++
В общем нужен список функций (желательно и хедеров, в которых они находятся) исходя из имени стандартной библиотеки dll. Наткнулся в...

Создание программы со своей библиотекой ( удаление элементов с N по M в строке и удаление лишних пробелов(если 2 и более оставить один)) - C++
добрый день. помогите, пожалуйста понять мои ошибки в работе. Мне нужно написать программу со своей библиотекой, которая включает в себя...

Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL - C++
Сортировка слов по количеству в них букв 'А'. Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL. Мне не...

Удаление пробелов - C++
Доброго времени суток ув. форумчане! Дали задание до 6.11, вчера вроде понял как делать, а сегодня что-то голова не варит. В общем сама...

7
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
12.05.2012, 19:33 #2
delete
0
CG
6 / 6 / 1
Регистрация: 10.05.2012
Сообщений: 12
12.05.2012, 19:36 #3
C++
1
2
3
4
5
6
7
8
    for(int i = 0;str[i] != '\0'; i++)
    {
       if( isspace( str[i] ) )
             {
        strcpy( &str[i], &str[i + 1] );
          i++;   //      :)
             }
    }
0
estel
1 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 31
12.05.2012, 19:36  [ТС] #4
Да, но как сделать так, чтобы все работало без нее и без функции strcpy?
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
12.05.2012, 19:37 #5
без string.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <cstdlib>
 
int main()
{
    char s[] = " 12 34 ", *a = s, *b = s;
    for(; *b = *a; ++a)
    {
        if(*b != ' ') ++b;
    }
    std::cout << atoi(s);
    return 0;
}
0
estel
1 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 31
12.05.2012, 19:40  [ТС] #6
CG, нет. Этот вариант не подходит

Добавлено через 54 секунды
igorrr37, к сожалению ваш так же ибо мы даже не проходили библиотеку cstdlib
0
modwind
52 / 52 / 1
Регистрация: 09.03.2012
Сообщений: 101
12.05.2012, 19:42 #7
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 <stdio.h> 
#include <stdlib.h> 
#include <conio.h>
 
 int main()
{
    char str[1024]; 
    long value;
    printf("Enter text\n");
    scanf("%[^\n]",str);//Так можно ввести строку с пробелами
 
    char* src=str;
    char* dst=str;
 
    while (*src)
    {
        if (*src!=' ') {*dst=*src; dst++;}
        src++;
    }
    *dst='\0';
 
    printf("String after removing text : %s\n",str);
 
    value = atoi(str);
    printf("%d\n", value);
 
    _getch();
    return 0;
  }
1
estel
1 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 31
12.05.2012, 19:45  [ТС] #8
modwind, спасибо) Оно работает)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2012, 19:45
Привет! Вот еще темы с ответами:

Удаление пробелов - C++
Помогите пожалуйста доделать программу(удаление пробелов в начале и в конце строки). Само задание:Удаление лишних пробелов в строке...

Удаление пробелов - C++
Доброго времени суток ув. форумчане! Дали задание до 6.11, вчера вроде понял как делать, а сегодня что-то голова не варит. В общем сама...

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

удаление пробелов - C++
предложите 2 варианта функции, удаляющей из строки ведущие и концевые пробелы


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
12.05.2012, 19:45
Ответ Создать тему
Опции темы

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