Discussion: Need help
Afficher un message
Vieux 22/02/2008, 13h26   #11
Pavel Lepin
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Need


Triple-DES <fire13all@hotmail.com> wrote in
<bcfe1c3d-06ab-49c1-b3fb-21f438d8e307@t66g2000hsf.googlegroups.com>:
> On 21 Feb, 20:19, "P. Lepin" <le...@ranselett.net> wrote:
>> bigmovieb...@gmail.com wrote:
>> > Please can any of you guys write this program for me .

>>
>> #include <stdexcept>
>> #include <string>
>> #include <iostream>
>> #include <istream>
>> #include <ostream>
>> #include <sstream>
>> using namespace std;
>> #define m 1<<8
>> #define si signed int
>> #define sz size
>> #define sb substr
>> #define st string
>> #define ss istringstream
>> #define cc(y) c<t,(l-y>0?l-y:1)>
>> template<class t,si l> class c{
>> public:t s_,z_;cc(2)*t_;si b_,l_;
>> static t*p(t s){t x;x=l==1?s:*cc(1)::p(s);
>> return new t(t(x.sz()<l?" ":"")+x);}
>> c(t s,si n=0)
>> :s_(s),z_(*c<t,m>::p(s)),b_(1),l_(!n?s.sz():n){
>> try{t_=new cc(2)(s_.sb(1,s_.sz()-2),l_);}
>> catch(out_of_range e){b_=!b_;}}
>> virtual ~c(){if(b_)delete t_;}
>> void operator[](si x){(*this)(x);if(b_)(*t_)[!b_];}
>> void operator()(si x){if(b_&&x)(*t_)(x);
>> if(l_!=l)cout<<z_.sb(z_.sz()-l_)<<endl;}};
>> int main(){st g,w;getline(cin,g);si i;cin>>i;ss k(g);
>> while(i--){k>>w;}c<st,m>o(w);o[1];}

>
> Good one!


Thank you for your kind words. :-)

> I really like how you involve so many c++ features in your
> code.


"Abuse", you mean. :-) Note how many template classes the
compiler instantiates. And how many std::strings are
instantiated at run-time (and never released). Catching
std:ut_of_range to stop recursion is pretty damn evil
too - I didn't even know I had it in me. I almost hope the
OP submits this to his instructor.

--
When all you have is a transformation engine, everything
looks like a tree.
  Réponse avec citation
 
Page generated in 0,06490 seconds with 9 queries