Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Folge

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.09.2004, 17:10 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


gegeben sei folgende folge
//2, 12, 1112, 3112, 132112, 1113122112,...

erstens finde das bildungsgesetz raus
zweitens schreibe ein proggie das die folgeglieder iteriert und ausgibt ausgibt...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.09.2004, 17:28 Uhr
Bruder Leif
dances with systems
(Operator)


Hatten wir so was nicht schon mal?
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.09.2004, 17:56 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Leif
echt scheisse dann ist das wohl irgendwie an mir vorbeigegangen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.09.2004, 18:14 Uhr
(un)wissender
Niveauwart


Hm, da hier keine mehr posten will...
Man zählt die Vorkommen der Zahlen.
Bspw. wird aus 1112 -> 3112 (drei einsen eine zwei).


C++:
#include <stdexcept>
#include <iostream>
#include <string>

class NumberCreater
{
public:
    NumberCreater(unsigned initial);
    const std::string  nextNumber();

private:
     std::string number_;
};      

NumberCreater::NumberCreater(unsigned initial)
{
    if(initial > 9)
    {
        throw std::logic_error("Digit must be between 1 and 9!");
    }  
    else
    {
        number_.push_back(static_cast<char>(initial + '0'));
    }      
}

const std::string NumberCreater::nextNumber()
{
    std::string old = number_;
    number_.clear();
    
    for(std::string::iterator i = old.begin(); i != old.end();  )
    {              
        char lastValue = *i;
        unsigned counter = 0;
        do
        {
            ++counter;
            ++i;
            
        } while(i != old.end() && *i == lastValue);  
                              
        number_.push_back(static_cast<char>(counter + '0'));
        number_.push_back(lastValue);                                  
    }
          
    return old;
}    
    
int main()
{
     NumberCreater creator(2);
     for(int i = 0; i < 9; ++i)
     {
         std::cout << "Nummer " << i + 1 << ": "
                   << creator.nextNumber() << std::endl;
     }        
     return 0;  
}


--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 19.09.2004 um 18:15 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.09.2004, 18:59 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


auf die schnelle hab ichs so gemacht

C++:
std::string getnext(std::string folge){

    std::string temp;
    int j,x,y;

    for(j=0;j<folge.size();++j){
        x=folge[j];
        for(y=1;j+1<folge.size() && x==folge[j+1];++j)++y;
        temp+=(char)(y+'0');
        temp+=x;
    }
    return temp;
}



--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.09.2004, 19:18 Uhr
(un)wissender
Niveauwart


Jo, die Lösungen ist ja fast gleich, nur anders.
Wobei du hättst schreiben müssen :
const std::string getnext(const std::string & folge);
aber das nur am Rande.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.09.2004, 20:54 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


jaja die alte leier
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: