Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2014, 18:33   #1
Renq
Новичок
Джуниор
 
Регистрация: 27.01.2014
Сообщений: 4
По умолчанию Кто сможет ?

Функция переписывает строку. Если она находит в строке число, то вместо него она переписывает в выходную строку соответствующее по счету слово из входной строки. (например, "aaa bb1bb cc2cc" - "aaa bbaaabb ccbb1bbcc").

Уже все мозги себе выел, но не как не могу. Напишите плиз код программы...
Renq вне форума Ответить с цитированием
Старый 27.01.2014, 19:35   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Смотрите в сторону работы со строками в C++. В помощь:
C++. Урок 6. Строки
3. Операции со строками. Часть 2.
Цитата:
Напишите плиз код программы...
Простите, но Вы видимо ошиблись форумом. Здесь помогают советами, а не пишут программы на халяву.
Streletz вне форума Ответить с цитированием
Старый 27.01.2014, 21:01   #3
Renq
Новичок
Джуниор
 
Регистрация: 27.01.2014
Сообщений: 4
По умолчанию

Я сам хочу попробовать просто не знал как начать )
попробую сам а там будь что будет.
Renq вне форума Ответить с цитированием
Старый 27.01.2014, 21:37   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Радость

Цитата:
Сообщение от Renq Посмотреть сообщение
Я сам хочу попробовать просто не знал как начать )
попробую сам а там будь что будет.
Искренне надеюсь, что теперь знаете.
Простите, но
Цитата:
просто не знал как начать
и
Цитата:
Напишите плиз код программы...
совершенно разные вещи.
Пожалуйста, пишите то, что Вы имеете в виду, так как оно есть по смыслу, если хотите чтобы Вас поняли правильно.
Streletz вне форума Ответить с цитированием
Старый 27.01.2014, 21:40   #5
Renq
Новичок
Джуниор
 
Регистрация: 27.01.2014
Сообщений: 4
По умолчанию

Есть высокая вероятность что не получиться, поэтому готовый код ни когда бы не помешал =)
Renq вне форума Ответить с цитированием
Старый 27.01.2014, 22:03   #6
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Плохо

Цитата:
Сообщение от Renq Посмотреть сообщение
Есть высокая вероятность что не получиться, поэтому готовый код ни когда бы не помешал =)
Готовый код в любом случае никогда никому не мешает. Вот только писать его за Вас бесплатно никто не будет.
Как я уже писал Вам в посте #2, здесь помогают советами. Если есть проблемы с кодом, выкладывайте Ваши наработки и Вам подскажут как её решить. А если Вам нужно, чтобы принесли готовое "на блюдечке", то в том же посте я писал куда в этом случае необходимо обращаться.
Streletz вне форума Ответить с цитированием
Старый 27.01.2014, 22:52   #7
Renq
Новичок
Джуниор
 
Регистрация: 27.01.2014
Сообщений: 4
По умолчанию

Спс за помощь. Тему можно закрывать сделал сам.
Renq вне форума Ответить с цитированием
Старый 27.01.2014, 23:11   #8
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Renq

Функция переписывает строку. Если она находит в строке число, то вместо него она переписывает в выходную строку соответствующее по счету слово из входной строки.

Код:
#include <iostream>
#include <locale>

#include <string>
#include <vector>

#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <boost/xpressive/xpressive.hpp>
#include <boost/xpressive/regex_actions.hpp>

using namespace boost::xpressive;

int main()
{
	std::locale::global(std::locale(""));

	std::string text("aaa bb1bb cc2cc");
	std::vector<std::string> words;

	auto rx(sregex::compile("(\\d+)"));

	boost::split(words, text, boost::is_any_of(" "), boost::token_compress_on);
	std::cout << "Новый текст, насяльника!" << std::endl;
	std::cout << regex_replace(text, rx, boost::xpressive::ref(words)[as<int>(_)-1]) << std::endl;

	return 0;
}
Rififi вне форума Ответить с цитированием
Старый 27.01.2014, 23:50   #9
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Rififi
плохо троллишь. студень открывает "компилятор", копипастит твой код, и видит что?
Код:
fatal error: boost/algorithm/string/split.hpp: No such file or directory
и пишет на форум - не работает.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 16.02.2014, 00:40   #10
vvmcpp
Форумчанин
 
Аватар для vvmcpp
 
Регистрация: 11.12.2010
Сообщений: 116
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
2Rififi

Код:
fatal error: boost/algorithm/string/split.hpp: No such file or directory
и пишет на форум - не работает.
У меня такая идея, в общем без boost. Программа работает наполовину.
В общем у меня не хватило сил написать условие по которому она выполняется.Программа работает, но работает не совсем так как нужно. Программа выглядит так:
Код:
#include <cstdlib>
#include <iostream>
#include <string>
#include <list>
#include <algorithm>
#include <vector>
#include <iterator>

/*
кодировка почему-то испортилась
написал подробные комменты, но они попортились
*/

//  в программе осталось только написать правильно условие   bool cond (string x)
using namespace std;


void outList(const char *s,const list<string> &v)
     {
     cout<<s;
     copy(v.begin(),v.end(),ostream_iterator<string> (cout," "));
     cout<<endl;
        
     }
 
  bool cond (string x)
     {
     return 1; // тут пока неправильно   
     } 
     
int main(int argc, char *argv[])
{
    std::locale::global(std::locale(""));
    std::string myText("aaa bb1bb cc2cc");

	//список
	    list<string> myList;
	    
    // заполняем список
	      myList.push_back(myText);
	     
          list<string>::iterator new_end; 
	      
	      
     // показываем
     outList("initial string =",myList);
	 
     
	    
	    new_end=remove_if(myList.begin(),myList.end(),cond);
	    
        // 
	     outList("After cond \n",myList);
	     
	     
	    myList.erase(new_end,myList.end());
	    
	     
	     outList("After erasing all elements \n",myList);
	    
	      
	    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Последний раз редактировалось vvmcpp; 16.02.2014 в 00:44.
vvmcpp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто сможет подсказать kaznachey1993 Общие вопросы Delphi 2 09.04.2013 20:00
Кто сможет помочь? wage23 Помощь студентам 0 05.04.2012 09:03
Кто сможет помоч? Константин Гайдарь HTML и CSS 0 31.01.2012 13:28
Кто сможет сделать Abramowi4 Помощь студентам 1 15.01.2012 23:27
Нужен кто-нибудь, кто сможет подсказать, как подступиться к программированию Delphi & C++ Koshka_Kali Помощь студентам 2 30.11.2008 13:23