Einzelnen Beitrag anzeigen
Alt 04.04.09, 23:46   #18 (permalink)
Virus
 
Registriert seit: 16.11.06
Virus Leistung: Facit NTK
Virus eine Nachricht über ICQ schicken
Likes: 0
Standard C++

Hier mal meine Lösung in C++, wenn jemand lust hat kann er mir ya mal schreiben was ich verbessern könnte.

Code:
#include <iostream>

using namespace std;
int treppe( int stufe );
    int stufen;
    char* pointer;
    int counte;
    int moeglichkeiten;
int main( )
{
    // Eingabe:
    cout << "Treppenstufen: ";
    cin >> stufen;
    treppe( stufen );
    cout << "Moeglichkeiten: " << moeglichkeiten;
    delete [] pointer;
    return 0;
}
int treppe( int stufe ) {
    counte++;
    if ( stufe == stufen ) { // Am Anfang wird der char array für die lösung erstellt
    pointer = new char[stufen];
    }
    if ( stufe-2>-1 ) { // Wenn die stufenanzahl -2 nicht ins minus geht rekursion
        pointer[counte] = '2';
        counte = treppe(stufe-2); 
    }
    if ( stufe-1>-1 ) { // Wenn die Stufenzahl -1 nicht ins minus geht: rekursion
        pointer[counte] = '1';
        counte = treppe(stufe-1);
    }
    if ( stufe < 1 ) { // Wenn eine Lösung gefunden wurde ausgeben.
        for( int i=1; i < counte; i++) {
            cout << pointer[i] << " ";
        }
        cout << endl;
        moeglichkeiten++;
    }
        return counte-1; // Einen Schritt zurück gehen
}
Virus ist offline   Mit Zitat antworten
 

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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61