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

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

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

Удаление пробелов в строке без использования модуля <string.h> - C++

12.01.2012, 20:51. Просмотров 1140. Ответов 10
Метки нет (Все метки)

Задача такая Ниже приведен текст.
Дана строка.преобразовать ее следующим образом:удалить группы пробелов если имеються которыми эта строка начинаеться и заканчивается ,а так же заменить каждую внутренюю группу пробелов одним пробелом и все это нужно сделать без использование модуля <string.h>
Я знаю как сделать с модулем но без него не сооброжу помоги пожалуйста срочно нужно сделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2012, 20:51     Удаление пробелов в строке без использования модуля <string.h>
Посмотрите здесь:

Как сделать замену слова в строке без использования функций библиотеки string? - C++
вводится строка =&gt; вводится слово, которое нужно заменить(если оно есть в строке)=&gt; вводится слово на которое нужно заменить

Подскажите как найти слово строке в котором больше 2 букв 'a', а затем вывести его?Без использования string - C++
Подскажите как найти слово строке в котором больше ОДНОЙ буквы 'a', а затем вывести его?Без string.

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

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

Объединить строки без использования string.h - C++
Чем заменить strcpy ,strcat .

Задача без использования типа string - C++
Слова текста из малых латинских букв записаны не менее чем через один пробел; БЕЗ ИСПОЛЬЗОВАНИЯ КОНСТРУКЦИИ STRING: а) написать программу...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,186
Завершенные тесты: 1
12.01.2012, 21:41     Удаление пробелов в строке без использования модуля <string.h> #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    char s[]=" ab   cdef  ";
    int i;
    for(i=1;s[i]!=0;i++)
    {
        if(s[i-1]==' ' && (s[i]==' ' || i==1) )
        {
            for(int j=i-1;s[j]!=0;j++)
                s[j]=s[j+1];
            i--;
        }
    }
    if(s[i-1]==' ')s[i-1]=0;
    cout<<s;
    _getch();
    return 0;
}
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
12.01.2012, 21:52     Удаление пробелов в строке без использования модуля <string.h> #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main()
{
    char* string = new char[80];
    std::cin.getline(string, 80);
    while(*string)
    {
        if(*string != ' ')
        {
            std::cout << *string;
            if(*(string+1) && *(string+1) == ' ')
                std::cout << ' ';
        }
        string++;
    }
    return 0;
}
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 21:55  [ТС]     Удаление пробелов в строке без использования модуля <string.h> #4
Цитата Сообщение от zss2 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    char s[]=" ab   cdef  ";
    int i;
    for(i=1;s[i]!=0;i++)
    {
        if(s[i-1]==' ' && (s[i]==' ' || i==1) )
        {
            for(int j=i-1;s[j]!=0;j++)
                s[j]=s[j+1];
            i--;
        }
    }
    if(s[i-1]==' ')s[i-1]=0;
    cout<<s;
    _getch();
    return 0;
}
А что бы пользователь сам вводил текст что надо дописать??...извиняюсь конечно просто позабывал все из си
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
12.01.2012, 21:55     Удаление пробелов в строке без использования модуля <string.h> #5
Цитата Сообщение от zss2 Посмотреть сообщение
i--;
счетчик должен изменяться только в шапке цикла
Цитата Сообщение от zss2 Посмотреть сообщение
for(i=1;s[i]!=0;i++)
а так делать нехорошо
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 22:02  [ТС]     Удаление пробелов в строке без использования модуля <string.h> #6
подскажите лучше пожалуйста что подставить в этот код и куда что бы пользователь сам вводил текст
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
12.01.2012, 22:03     Удаление пробелов в строке без использования модуля <string.h> #7
Цитата Сообщение от Mayonez Посмотреть сообщение
C++
1
std::cin.getline(string, 80);
12345
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 22:06  [ТС]     Удаление пробелов в строке без использования модуля <string.h> #8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    char s[]=" ab   cdef  ";
    int i;
    for(i=1;s[i]!=0;i++)
    {
        if(s[i-1]==' ' && (s[i]==' ' || i==1) )
        {
            for(int j=i-1;s[j]!=0;j++)
                s[j]=s[j+1];
            i--;
        }
    }
    if(s[i-1]==' ')s[i-1]=0;
    cout<<s;
    _getch();
    return 0;
}



вот куда в этот код и что вставить что бы пользователь вводил сам текст?
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,186
Завершенные тесты: 1
12.01.2012, 22:18     Удаление пробелов в строке без использования модуля <string.h> #9
Цитата Сообщение от Mayonez Посмотреть сообщение
счетчик должен изменяться только в шапке цикла

а так делать нехорошо
Это никакими правилами не оговорено,
а в данном случае, последний проверенный символ нужно проверить повторно
по причине сдвига символов на 1 позицию влево.

Добавлено через 2 минуты
C++
1
2
3
4
5
6
int main()
{
    char arr[255];
    puts("Enter string:");
    gets(arr);
.....
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 22:21  [ТС]     Удаление пробелов в строке без использования модуля <string.h> #10
Воотт))премного благодарен))а то написал со стрингом а с ним нельзя((и вот не знал как написать(....спасибо большое исчо раз
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2012, 08:48     Удаление пробелов в строке без использования модуля <string.h>
Еще ссылки по теме:

Удаление пробелов в введенной строке - C++
Вот я думаю надо так,но не получается //Удаление пробелов в строке #include&lt;iostream&gt; #include&lt;cstring&gt; #define N 80 using...

Работа со строковыми переменными без использования string.h - C++
Нужно заменить в строке s множественные последовательности вхождений символа t на один. То есть &quot;aaabcde&quot; заменяется на &quot;abcde&quot;. Существует...

Задача со строками без использования библиотеки string.h - C++
Дана непустая строка S. Вывести на экран Эту же строку S, но с пробелами между символами.

Функция atoi, без использования библиотеки string - C++
функции atoi, без использования библиотеки string


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

Или воспользуйтесь поиском по форуму:
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.01.2012, 08:48     Удаление пробелов в строке без использования модуля <string.h> #11
Цитата Сообщение от zss2 Посмотреть сообщение
Это никакими правилами не оговорено,
имеется в виду, что строка может начинаться с нуль-символа
Yandex
Объявления
13.01.2012, 08:48     Удаление пробелов в строке без использования модуля <string.h>
Ответ Создать тему
Опции темы

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