Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16

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

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

Студворк — интернет-сервис помощи студентам
Задача такая Ниже приведен текст.
Дана строка.преобразовать ее следующим образом:удалить группы пробелов если имеються которыми эта строка начинаеться и заканчивается ,а так же заменить каждую внутренюю группу пробелов одним пробелом и все это нужно сделать без использование модуля <string.h>
Я знаю как сделать с модулем но без него не сооброжу помоги пожалуйста срочно нужно сделать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.01.2012, 20:51
Ответы с готовыми решениями:

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

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

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

10
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
12.01.2012, 21:41
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
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
12.01.2012, 21:52
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
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 21:55  [ТС]
Цитата Сообщение от 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
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
12.01.2012, 21:55
Цитата Сообщение от zss2 Посмотреть сообщение
i--;
счетчик должен изменяться только в шапке цикла
Цитата Сообщение от zss2 Посмотреть сообщение
for(i=1;s[i]!=0;i++)
а так делать нехорошо
0
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 22:02  [ТС]
подскажите лучше пожалуйста что подставить в этот код и куда что бы пользователь сам вводил текст
0
 Аватар для Mayonez
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
12.01.2012, 22:03
Цитата Сообщение от Mayonez Посмотреть сообщение
C++
1
std::cin.getline(string, 80);
12345
0
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 22:06  [ТС]
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
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
12.01.2012, 22:18
Цитата Сообщение от Mayonez Посмотреть сообщение
счетчик должен изменяться только в шапке цикла

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

Добавлено через 2 минуты
C++
1
2
3
4
5
6
int main()
{
    char arr[255];
    puts("Enter string:");
    gets(arr);
.....
1
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
12.01.2012, 22:21  [ТС]
Воотт))премного благодарен))а то написал со стрингом а с ним нельзя((и вот не знал как написать(....спасибо большое исчо раз
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
13.01.2012, 08:48
Цитата Сообщение от zss2 Посмотреть сообщение
Это никакими правилами не оговорено,
имеется в виду, что строка может начинаться с нуль-символа
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2012, 08:48
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru