Need help

Discussion in 'C++' started by bigmoviebuff@gmail.com, Feb 21, 2008.

  1. Guest

    Hi guys does any of you guys have this c++ program .
    I need the program to input a string and accept a word number and
    print this pattern.


    Input) This is a message
    Input)4

    output) s
    ssa
    essag
    message
    essag
    ssa
    s

    and if it is a even word for example golden then the output is


    ld
    olde
    golden
    olde
    ld


    Please can any of you guys write this program for me .
    , Feb 21, 2008
    #1
    1. Advertising

  2. Zeppe Guest

    wrote:

    > Please can any of you guys write this program for me .


    no.
    Zeppe, Feb 21, 2008
    #2
    1. Advertising

  3. Triple-DES Guest

    On 21 Feb, 10:31, wrote:
    > Hi guys does any of you guys have this c++ program .
    > I need the program to input a string and accept a word number and
    > print this pattern.
    >
    > Input) This is a message
    > Input)4
    >
    > output)                          s
    >                                   ssa
    >                                  essag
    >                                message
    >                                  essag
    >                                    ssa
    >                                      s
    >
    > and if it is a even word for example golden then the output is
    >
    >                                    ld
    >                                  olde
    >                                golden
    >                                  olde
    >                                    ld
    >
    > Please can any of you guys write this program for me .


    Sure, here you go:

    #include <iostream>
    #include <string>
    #include <vector>
    #include <algorithm>
    using namespace std;
    ostream& o = cout;
    istream& i = cin;
    typedef string s;
    typedef vector<s> v;
    typedef s::iterator si;
    typedef size_t t;
    #define b_ begin()
    #define e_ end()
    int main() {
    s s_; v v_; t n;
    getline(i,s_);
    i>>n;
    while(--n) s_ = s(find(s_.b_, s_.e_,' ')+1,s_.e_);
    s_ = s(s_.b_,find(s_.b_,s_.e_,' '));
    t d = 0u;
    t ll = s_.size();
    for(t l = ((ll ^ 1u) & 1u) + 1; l <= ll;) {
    si b = s_.b_ + (ll - l) / 2;
    o<< s(b, b + l) << "\n";
    l += 2 - d;
    if(l >= ll) d = 4u;
    }}
    Triple-DES, Feb 21, 2008
    #3
  4. osmium Guest

    <> wrote:

    > Hi guys does any of you guys have this c++ program .
    > I need the program to input a string and accept a word number and
    > print this pattern.
    >
    >
    > Input) This is a message
    > Input)4
    >
    > output) s
    > ssa
    > essag
    > message
    > essag
    > ssa
    > s
    >
    > and if it is a even word for example golden then the output is
    >
    >
    > ld
    > olde
    > golden
    > olde
    > ld


    There are two main parts to the question. Isolate a particular word and then
    print that word in the funny pattern required. There are two kinds of
    printing, depending on how many characters are in the word. Start by
    writing a program that will get the two inputs from a user. isolate the
    desired word and pass that word to a function *to be defined* (by you) that
    will do the printing. For earrly testing, simply print the word in that
    function.
    osmium, Feb 21, 2008
    #4
  5. red floyd Guest

    red floyd, Feb 21, 2008
    #5
  6. P. Lepin Guest

    wrote:
    > I need the program to input a string and accept a word number and
    > print this pattern.
    >
    > output) s
    > ssa
    > essag
    > message
    > essag
    > ssa
    > s
    >
    > Please can any of you guys write this program for me .


    Sure, why not.

    #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];}

    There you go.

    --
    "These men died for us... frequently!"
    P. Lepin, Feb 21, 2008
    #6
  7. Guest

    On Feb 21, 2:19 pm, "P. Lepin" <> wrote:
    > Sure, why not.


    I see; so that's the way you want to be. Fine.

    *cracks knuckles*

    #include <stdio.h>
    int main(int Z,char*_,int N){switch(Z){case 0:if(*_){putchar(
    main(Z-1,"double f;switch{}0x53*DEBUG=1+9.%|> !+./1256789:I_"
    "abcdefghklmn""oprstuwy",*_));return main(Z,1+_,N);}return 0;
    case -1:if(N==*_)return 36[_+Z] ;else return main(Z,_-Z,N);
    }return main(Z-Z,"cd0D5{.5xd=GdU>dD=U5|=+Ed{.dD..1tll*+=%19b"
    "*==*B5b0=Ul*+=%1l0=U1bB{G*b0uul}+=|95h3+Ul.D+5{xl3xw;seif{w"
    "3;f3 edo",N);}

    That's C, mind you.

    Jason
    , Feb 21, 2008
    #7
  8. Guest

    If your newer to c++, I would start with the word, then delete the the
    end letters and display them above and below the original word until
    the length of the string is 1 or 2.
    , Feb 22, 2008
    #8
  9. Pavel Lepin Guest

    <> wrote in
    <>:
    > On Feb 21, 2:19 pm, "P. Lepin" <>
    > wrote:
    >> Sure, why not.

    >
    > I see; so that's the way you want to be. Fine.
    >
    > *cracks knuckles*
    >
    > #include <stdio.h>
    > int main(int Z,char*_,int N){switch(Z){case
    > 0:if(*_){putchar( main(Z-1,"double
    > f;switch{}0x53*DEBUG=1+9.%|> !+./1256789:I_"
    > "abcdefghklmn""oprstuwy",*_));return main(Z,1+_,N);}return
    > 0;
    > case -1:if(N==*_)return 36[_+Z] ;else return
    > main(Z,_-Z,N); }return
    > main(Z-Z,"cd0D5{.5xd=GdU>dD=U5|=+Ed{.dD..1tll*+=%19b"
    > "*==*B5b0=Ul*+=%1l0=U1bB{G*b0uul}+=|95h3+Ul.D+

    {xl3xw;seif{w"
    > "3;f3 edo",N);}
    >
    > That's C, mind you.


    Since we started switching languages, I could've whipped out
    my Perl, and wouldn't THAT be horrible. But I won't. It's
    off-topic here. :)

    (Translation: I'm chickening out!)

    --
    When all you have is a transformation engine, everything
    looks like a tree.
    Pavel Lepin, Feb 22, 2008
    #9
  10. Triple-DES Guest

    On 21 Feb, 20:19, "P. Lepin" <> wrote:
    > wrote:
    > > Please can any of you guys write this program for me .

    >
    > Sure, why not.
    >
    > #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];}
    >
    > There you go.


    Good one! I really like how you involve so many c++ features in your
    code. I don't think I can top this.
    Triple-DES, Feb 22, 2008
    #10
  11. Pavel Lepin Guest

    Triple-DES <> wrote in
    <>:
    > On 21 Feb, 20:19, "P. Lepin" <> wrote:
    >> 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::eek: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.
    Pavel Lepin, Feb 22, 2008
    #11
  12. James Kanze Guest

    On Feb 21, 3:20 pm, Triple-DES <> wrote:
    > On 21 Feb, 10:31, wrote:


    [Obvious homework problem deleted...]

    > Sure, here you go:


    > #include <iostream>
    > #include <string>
    > #include <vector>
    > #include <algorithm>
    > using namespace std;
    > ostream& o = cout;
    > istream& i = cin;
    > typedef string s;
    > typedef vector<s> v;
    > typedef s::iterator si;
    > typedef size_t t;
    > #define b_ begin()
    > #define e_ end()
    > int main() {
    > s s_; v v_; t n;
    > getline(i,s_);
    > i>>n;
    > while(--n) s_ = s(find(s_.b_, s_.e_,' ')+1,s_.e_);
    > s_ = s(s_.b_,find(s_.b_,s_.e_,' '));
    > t d = 0u;
    > t ll = s_.size();
    > for(t l = ((ll ^ 1u) & 1u) + 1; l <= ll;) {
    > si b = s_.b_ + (ll - l) / 2;
    > o<< s(b, b + l) << "\n";
    > l += 2 - d;
    > if(l >= ll) d = 4u;
    > }}


    Beautiful. It really pleases me to see that someone here has
    finally learned how to respond to homework requests with some
    originality.

    --
    James Kanze (GABI Software) email:
    Conseils en informatique orientée objet/
    Beratung in objektorientierter Datenverarbeitung
    9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
    James Kanze, Feb 22, 2008
    #12
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. TN Bella
    Replies:
    1
    Views:
    2,469
    Edward
    Jun 18, 2004
  2. Teep
    Replies:
    2
    Views:
    764
    Larry Marburger
    Jun 21, 2004
  3. John
    Replies:
    1
    Views:
    393
    John C. Bollinger
    Aug 19, 2004
  4. =?Utf-8?B?Q2hyaXM=?=

    Help Help. I really need some help with this

    =?Utf-8?B?Q2hyaXM=?=, Jan 31, 2007, in forum: ASP .Net
    Replies:
    3
    Views:
    558
    =?Utf-8?B?SmFzb24gVmVybWlsbGlvbg==?=
    Jan 31, 2007
  5. ElementX
    Replies:
    9
    Views:
    488
    RedGrittyBrick
    Oct 1, 2008
Loading...

Share This Page