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

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

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

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

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

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

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

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

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

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

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

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

10
zss
Модератор
Эксперт С++
6631 / 6193 / 2048
Регистрация: 18.12.2011
Сообщений: 16,146
Завершенные тесты: 1
12.01.2012, 21:41 #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;
}
2
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
12.01.2012, 21:52 #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;
}
0
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 21:55  [ТС] #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;
}
А что бы пользователь сам вводил текст что надо дописать??...извиняюсь конечно просто позабывал все из си
0
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
12.01.2012, 21:55 #5
Цитата Сообщение от zss2 Посмотреть сообщение
i--;
счетчик должен изменяться только в шапке цикла
Цитата Сообщение от zss2 Посмотреть сообщение
for(i=1;s[i]!=0;i++)
а так делать нехорошо
0
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 22:02  [ТС] #6
подскажите лучше пожалуйста что подставить в этот код и куда что бы пользователь сам вводил текст
0
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
12.01.2012, 22:03 #7
Цитата Сообщение от Mayonez Посмотреть сообщение
C++
1
std::cin.getline(string, 80);
12345
0
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 22:06  [ТС] #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;
}



вот куда в этот код и что вставить что бы пользователь вводил сам текст?
0
zss
Модератор
Эксперт С++
6631 / 6193 / 2048
Регистрация: 18.12.2011
Сообщений: 16,146
Завершенные тесты: 1
12.01.2012, 22:18 #9
Цитата Сообщение от Mayonez Посмотреть сообщение
счетчик должен изменяться только в шапке цикла

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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