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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
xellboy8
0 / 0 / 0
Регистрация: 02.01.2011
Сообщений: 8
#1

удаление пробелов между словами и буквами - C++

02.01.2011, 16:00. Просмотров 1786. Ответов 18
Метки нет (Все метки)

доброго времени суток, не могли бы вы мне помочь в создании программы которая удаляет удвоенные согласные в любом предложении, но чтоб удаляла а не заменяла на пробелк примеру чтоб было слово "удвоенное" вот так "удвоеая" а не "удвое ая",

вот пример программы которую я показал учителю он утверждает что эта программа не удаляет а просто не видит эти символы:
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
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
    int i=0,n;
    char s[50];
    cout<<"Vvedite tekst\n";
    gets(s);            // Ввод строки
    while (s[i]!='\0')
    {   
        n=i;
        i++;
    }
    n++;
 
    for(i=0;i<n;i++)
        {   
            if(s[i]==s[i+1])
                if(s[i]!='e' || s[i]!='u' || s[i]!='i' || s[i]!='o' ||                  s[i]!='a' || s[i]!='y')
                {
                    i=i+2;
                }
                cout<<s[i];
        }
        
      getchar();
}
ЗАРАНЕЕ СПАСИБО!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2011, 16:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос удаление пробелов между словами и буквами (C++):

Вывести количество пробелов между словами в строке - C++
:help:Помогите с программой:пользователь вводит строчку,а программа выводит кол-во пробелов между словами в строке. #include &quot;stdafx.h&quot; ...

Строки определение максимального количества пробелов между словами - C++
Слабо знаю строки в с++ . Помогите пожалуйста сделать эту задачу: Расстояние между двумя словами равной длины - это количество позиций, в...

Увеличить в два раза количество пробелов между словами - C++
увеличить в два раза количество пробелов между словами

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

Функция, сравнивающая две строки, игнорируя количество пробелов между словами - C++
Разработать функцию, которая сравнивает две строки, игнорируя количество пробелов между словами (использовать функции работы со строками). ...

Отсортировать слова по алфавиту в массиве char. Между словами по несколько пробелов - C++
Задачка такая: есть строка - вводится юзером. Нужно в этой строке упорядочить слова по алфавиту. Проблема в том, что не знаю з чего начать....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
02.01.2011, 16:23 #2
xellboy8,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::string str;
    const std::string byk("BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvXxZz");
    std::cout << "\n\nString -> ";
    getline(std::cin, str);
 
    for(std::string::size_type i = 0; i < str.length() - 1; ++i)
        if(byk.find(str[i]) != std::string::npos &&  str[i] == str[i + 1])
            str.erase(i, 2);
 
    std::cout << str << std::endl;
    return 0;
}
1
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
02.01.2011, 16:30 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <functional>
 
typedef std::string T_str;
 
int main()
{
    T_str str;
    std::cout<<"Enter string: ";
    std::getline(std::cin, str);
    for(size_t i=0; i<str.size()-1; ++i)
        if(str[i] == str[i+1])
           str.erase(i, 2);
    std::cout<<str<<'\n';
    return 0;
}
Добавлено через 1 минуту
Оу. Про согласные не увидел. Тогда солидарен с asics.
1
xellboy8
0 / 0 / 0
Регистрация: 02.01.2011
Сообщений: 8
02.01.2011, 16:33  [ТС] #4
у меня показывает 2 ошибки
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
02.01.2011, 16:34 #5
xellboy8, Ошибки в студию...
1
xellboy8
0 / 0 / 0
Регистрация: 02.01.2011
Сообщений: 8
02.01.2011, 16:36  [ТС] #6
в программе которую прислал asics
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
02.01.2011, 16:37 #7
xellboy8, Сами ошибки сюда скиньте оО
1
xellboy8
0 / 0 / 0
Регистрация: 02.01.2011
Сообщений: 8
02.01.2011, 16:38  [ТС] #8
------ Построение начато: проект: dmitriy, Конфигурация: Debug Win32 ------
Компиляция...
laba.cpp
c:\users\user\documents\visual studio 2008\projects\dmitriy\dmitriy\laba.cpp(10) : error C3861: getline: идентификатор не найден
c:\users\user\documents\visual studio 2008\projects\dmitriy\dmitriy\laba.cpp(16) : error C2679: бинарный '<<': не найден оператор, принимающий правый операнд типа 'std::string' (или приемлемое преобразование отсутствует)
d:\program files\microsoft visual studio 9.0\vc\include\ostream(653): может быть 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)' [найдено при поиске с зависимостью от аргументов]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(700): или 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)' [найдено при поиске с зависимостью от аргументов]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(738): или 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)' [найдено при поиске с зависимостью от аргументов]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(785): или 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)' [найдено при поиске с зависимостью от аргументов]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(909): или 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const signed char *)' [найдено при поиске с зависимостью от аргументов]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(916): или 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,signed char)' [найдено при поиске с зависимостью от аргументов]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(923): или 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const unsigned char *)' [найдено при поиске с зависимостью от аргументов]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(930): или 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,unsigned char)' [найдено при поиске с зависимостью от аргументов]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(170): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ostream<_Elem,_Traits> &(__cdecl *)(std::basic_ostream<_Elem,_Traits> &))'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(176): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(183): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::ios_base &(__cdecl *)(std::ios_base &))'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(190): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::_Bool)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(210): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(short)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(243): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned short)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(263): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__w64 int)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(288): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__w64 unsigned int)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(308): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(328): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__w64 unsigned long)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(349): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__int64)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(369): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned __int64)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(390): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(float)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(410): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(double)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(430): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long double)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(450): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(const void *)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
d:\program files\microsoft visual studio 9.0\vc\include\ostream(470): или 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_streambuf<_Elem,_Traits> *)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
при попытке сопоставить список аргументов '(std::ostream, std::string)'
Журнал построения был сохранен в "file://c:\Users\user\Documents\Visual Studio 2008\Projects\dmitriy\dmitriy\Debug\BuildLog.htm"
dmitriy - ошибок 2, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
02.01.2011, 16:51 #9
xellboy8, #include <string> добавьте в начале кода.
1
asics
02.01.2011, 16:55
  #10

Не по теме:

Мда, вроде копировал код на форум з #include <string>, хз где он делся

1
xellboy8
0 / 0 / 0
Регистрация: 02.01.2011
Сообщений: 8
02.01.2011, 17:00  [ТС] #11
а могли бы вы расписать по шагово как работает эта программа а то учитель замонает вопросами...я ему уже раз 7 пойду сдавать это задание....последний зачет осталось получить
0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
02.01.2011, 17:05 #12
xellboy8, Да тут вроде и шагов не так много, просто проходимся в цыкле по сторке и ищем согласную букву, если нашли то проверяем букву идущую за ней и если эта буква равняется предедущей, то удаляем эти две буквы.
1
xellboy8
0 / 0 / 0
Регистрация: 02.01.2011
Сообщений: 8
02.01.2011, 17:08  [ТС] #13
а еще одна просьба как будет выглядеть алгоритм к этой программе
0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
02.01.2011, 17:10 #14
xellboy8, Я же написал алгоритм.
1
xellboy8
0 / 0 / 0
Регистрация: 02.01.2011
Сообщений: 8
02.01.2011, 18:31  [ТС] #15
блок-схема, прошу прощения, как будет выглядеть

Добавлено через 1 час 19 минут
я когда в этой программе ввожу к примеру ffddog у меня выводит ddog то есть символ dd не удаляеться
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2011, 18:31
Привет! Вот еще темы с ответами:

Разработать функцию, которая сравнивает две строки, игнорируя количество пробелов между словами. - C++
Пишу в Microsoft Visual Studio -&gt;Win32 Console application -&gt;C++. Помогите пожалуйста Разработать функцию, которая сравнивает две строки,...

Разработать функцию, которая сравнивает две строки, игнорируя количество пробелов между словами - C++
Имеется такое задание: Разработать функцию, которая сравнивает две строки, игнорируя количество пробелов между словами. Можете объяснить...

Из строки удалить все символы, кроме пробелов, не являющиеся буквами английского алфавита - C++
Разработать консольное приложение. 1. Во введенной строке после k-го символа вставить заданную подстроку. Подстроку ввести с клавиатуры....

Убрать в текстовом файле ненужные пробелы, оставив между словами по одному, между предложениями по два. - C++
Мое задание: убрать в текстовом файле ненужные пробелы, оставив между словами по одному, между предложениями по два. Вот программа...


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

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

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