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

Напечатать текст < условие А>, удалив из него все цифры - C++

Восстановить пароль Регистрация
 
Нинель
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 19
16.05.2014, 10:03     Напечатать текст < условие А>, удалив из него все цифры #1
Задана последовательность символов за которой следует точка( в суму последовательность точка не входит ) Напечатать текст < условие А> удалив из него все цифры
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2014, 10:03     Напечатать текст < условие А>, удалив из него все цифры
Посмотрите здесь:

C++ Отредактировать текст,удалив из него все слова с нечетными номерами
[C++] Cжать массив, удалив из него все нулевые элементы C++
Сжать массив, удалив из него все элементы, модуль которых не превышает 1. C++
C++ Дан текст.Напечатать все имеющие в нем цифры
C++ Сжать массив, удалив из него элементы, имеющие одинаковые старшую и младшую цифры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
16.05.2014, 10:18     Напечатать текст < условие А>, удалив из него все цифры #2
А теперь вопрос. Вы хотя бы сами понимаете, что написали?
Supernatural
16.05.2014, 10:33
  #3

Не по теме:

Цитата Сообщение от Ilot Посмотреть сообщение
А теперь вопрос. Вы хотя бы сами понимаете, что написали?
да ладно, ведь иногда форумчане сразу выкладывают готовый код, почему бы и в этот раз не сделать так?

dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
16.05.2014, 10:40     Напечатать текст < условие А>, удалив из него все цифры #4
про точку не понял вообще, числа удалил...
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
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <string>
using namespace std;
 
int main()
{
int a;
string str;
setlocale(LC_ALL,"Russian");
cout<<"Введите длину строки:";    //
cin>>a;                           // вводим длину строки
 
for (int i=0;i<a;i++)             // произвольно заполняем строку
  str+=rand()%90;                 // на конце ставим точку
str+='.';                         //
cout<<"\nСтрока до очистки от цифр:"<<endl<<str;
for (int i=0;i<a;i++)
  if (isdigit(str[i]) )                           // проверяем число ли в данной позиции
  str.erase(str.begin()+i,str.begin()+i+1);       // удаляем найденное число
 
cout<<"\n\nСтрока после очистки от цифр:"<<endl<<str;
return 0;
}
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
16.05.2014, 10:44     Напечатать текст < условие А>, удалив из него все цифры #5

Не по теме:

Цитата Сообщение от Supernatural Посмотреть сообщение
да ладно, ведь иногда форумчане сразу выкладывают готовый код, почему бы и в этот раз не сделать так?
В каком смысле? Я рад бы помочь, но совсем не понимаю, что требуется сделать. Поэтому и задаю свой вопрос.



Добавлено через 2 минуты
dzrkot, смысл удалять из строки цифры если она полностью состоит из цифр?
Можно попробовать сделать вот так:
C++
1
str+=static_cast<char>(rand()%256);
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
16.05.2014, 10:47     Напечатать текст < условие А>, удалив из него все цифры #6
dzrkot, работать не будет. Что за привычка обходить контейнер в цикле и тут же изменять состав элементов в нем...
http://ideone.com/EkxmHP
Код
Строка до очистки от цифр:
12345.

Строка после очистки от цифр:
24.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
16.05.2014, 11:09     Напечатать текст < условие А>, удалив из него все цифры #7
Цитата Сообщение от 0x10 Посмотреть сообщение
dzrkot, работать не будет. Что за привычка обходить контейнер в цикле и тут же изменять состав элементов в нем...
опять об этом неподумал

так и что, проверяем предыдущую позицие дикрементирую i при удалении и всё..
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 <ctime>
#include <cstdlib>
#include <string>
using namespace std;
 
int main()
{
int a;
string str;
setlocale(LC_ALL,"Russian");
cout<<"Введите длину строки:";    //
cin>>a;                           // вводим длину строки
 
for (int i=0;i<a;i++)             // произвольно заполняем строку
  str+=rand()%90;                 // на конце ставим точку
str+='.';                         //
cin>>str;
cout<<"\nСтрока до очистки от цифр:"<<endl<<str;
for (int i=0;i<a;i++)
  if (isdigit(str[i]) )                           // проверяем число ли в данной позиции
  {
  str.erase(str.begin()+i,str.begin()+i+1);       // удаляем найденное число
  i--;
  }
cout<<"\n\nСтрока после очистки от цифр:"<<endl<<str;
return 0;
}
Добавлено через 13 минут
Цитата Сообщение от Ilot Посмотреть сообщение
dzrkot, смысл удалять из строки цифры если она полностью состоит из цифр?
Можно попробовать сделать вот так:
всмысле? у меня же неявное преобразование там в char
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
16.05.2014, 11:33     Напечатать текст < условие А>, удалив из него все цифры #8
Цитата Сообщение от dzrkot Посмотреть сообщение
так и что, проверяем предыдущую позицие дикрементирую i при удалении и всё..
Костыль и необоснованное усложнение кода.
http://en.cppreference.com/w/cpp/algorithm/remove
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
16.05.2014, 12:20     Напечатать текст < условие А>, удалив из него все цифры #9
Цитата Сообщение от 0x10 Посмотреть сообщение
Костыль и необоснованное усложнение кода.
http://en.cppreference.com/w/cpp/algorithm/remove
Костыль и не обоснованное усложнение кода:
C++
1
2
3
4
5
6
7
    string::iterator iter = str.begin();
    while(iter != str.end()) {
        if (isdigit(*iter))                           // проверяем число ли в данной позиции
            iter = str.erase(iter);       // удаляем найденное число
        else
            ++iter;
    }
Цитата Сообщение от dzrkot Посмотреть сообщение
В смысле? у меня же неявное преобразование там в char
Виноват. Не заметил.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2014, 12:32     Напечатать текст < условие А>, удалив из него все цифры
Еще ссылки по теме:

Строки. Дан текст. Напечатать все имеющиеся в нем цифры C++
C++ Сохранить листинг программы в файл, удалив из него все комментарии
C++ Преобразовать массив, удалив из него все повторяющиеся элементы

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

Или воспользуйтесь поиском по форуму:
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
16.05.2014, 12:32     Напечатать текст < условие А>, удалив из него все цифры #10
Цитата Сообщение от 0x10 Посмотреть сообщение
Костыль и необоснованное усложнение кода.
мало знаний в STL , отсюда все беды, как правильнее строить и т.п. не в курсе пока что)
Yandex
Объявления
16.05.2014, 12:32     Напечатать текст < условие А>, удалив из него все цифры
Ответ Создать тему
Опции темы

Текущее время: 04:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru