myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Rekursion c++

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 07.10.10, 10:04   #1
ponchosi
Anfänger
 
Registriert seit: Jan 2010
Beiträge: 8
Bedankt: 0
ponchosi ist noch neu hier! | 0 Respekt Punkte
Standard Rekursion c++

Hi,
wie formatiere ich den Code denn richtig ?
Die cpp datei liegt vor, hab den Code auch direkt ausm Compiler kopiert, aber er wird hier immer wieder eingerückt ?!


Ich hab ein Programm geschrieben, dass alle möglichen Strukturen ausgibt, die man anhand von n - internen Knoten erzeugen kann.
Nur leider funktioniert dieses nicht, bzw tut nicht das, was es soll !
ponchosi ist offline   Mit Zitat antworten
Ungelesen 07.10.10, 10:46   #2
gosha16
Banned
 
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
gosha16 ist noch neu hier! | 0 Respekt Punkte
Standard

Bitte verwende Code Tags und bring den Code in ein ordentliches Format.
gosha16 ist offline   Mit Zitat antworten
Ungelesen 07.10.10, 20:15   #3
ponchosi
Anfänger
 
Registriert seit: Jan 2010
Beiträge: 8
Bedankt: 0
ponchosi ist noch neu hier! | 0 Respekt Punkte
Standard

Code:
#include <iostream>
#include <fstream>
using namespace std;
#include <stdlib.h>
#include <time.h>
#include <math.h>

typedef int kn_info ;

struct knoten
 {
   kn_info info;
   knoten * lnachf, * rnachf;
};

struct baum {
    knoten *wurzel;
    int anzknoten;
};


void baumaus(ofstream & ,baum );
void initialize(baum &);
unsigned long long int anz(int);
void aufbau(ofstream &,knoten *&,baum,int &, int,int);
void knot(ofstream &, const knoten *, int);

int main (){
    int n,m;
    baum b;

    initialize(b);
    ofstream datout;
    char datnameout[20];

    cout<<"Bitte geben Sie die Anzahl der Knoten ein ! \n";
    cin>>n;
    m = n;
    cout<<"Die Anzahl aller möglichen Strukturen ist gleich "<<anz(n)<<"\n";

    do{
         cout << "Namen fuer die Ausgabedatei eingeben: ";

         cin >> datnameout;

         datout.open(datnameout);

         if (datout.fail())

             cerr << "Datei \"" << datnameout
             << "\" kann nicht geoeffnet werden!! \n";
      } while (datout.fail());

      aufbau(datout,b.wurzel,b,b.anzknoten,n,m);



}

unsigned long long int anz(int n){
    

    if ((n == 0) || ( n == 1)) return 1;


    else {

        unsigned long long  int r=0;

        for (int i = 0;i < n;i++){
        
            r = r + anz(i) * anz((n-1-i));
    }

     return r;
    }
}


void aufbau(ofstream &datout,knoten *(&p),baum b,int &a,int n,int m){



   if (a == m) {
        baumaus(datout,b);
        p=NULL;
        a = a - 1 ;
        datout<<"\n\n";
       

    }

    if(n>0) {
        p = new knoten;
        p->lnachf = p->rnachf = NULL;
        p->info = n;
        a++;
        if(b.wurzel == NULL) b.wurzel = p;
    }

    else p = NULL;

    for (int i = 0; i <n; i ++){
        aufbau(datout,p->rnachf,b,a,i,m);
        aufbau(datout,p->lnachf,b,a,(n-1-i),m);
        
    }



    

}


void initialize(baum &b)
//   ==========                                 //
// Initialisiere den Baum "vb" ordnungsgemaess. //
{ b.wurzel = NULL;
  b.anzknoten = 0;
 } // <--- Ende initialize


void baumaus(ofstream & datout, const baum b)
//   =======                                   //
// Ausgabe des Baumes "vb" in seiner Struktur. //
{ knot(datout,b.wurzel,0);
 } // <--- Ende baumaus //


void knot(ofstream & datout, const knoten * p, int t)
//   ====                                           //
// Ausgabe des Baumes, Hilfsroutine fuer "baumaus". //
{ int i;
  if (p != NULL)
   { knot(datout,p->rnachf,t+1);
     for (i=1; i <= t; i++) datout << "   ";
     datout << p->info << "\n";
     knot(datout,p->lnachf,t+1);
    }
  
 } // <--- Ende knot
ponchosi ist offline   Mit Zitat antworten
Ungelesen 07.10.10, 21:30   #4
PornoPenner
Banned
 
Registriert seit: Aug 2010
Beiträge: 209
Bedankt: 70
PornoPenner ist noch neu hier! | 0 Respekt Punkte
Standard

Und wo können wir Dir helfen?
PornoPenner ist offline   Mit Zitat antworten
Ungelesen 07.10.10, 21:54   #5
ponchosi
Anfänger
 
Registriert seit: Jan 2010
Beiträge: 8
Bedankt: 0
ponchosi ist noch neu hier! | 0 Respekt Punkte
Standard

Argh, jetzt habe ich doch glatt den Anfangspost mit gelöscht -.- sorry

Hier ist er :

Hi

Ich hab ein Programm geschrieben, dass alle möglichen Strukturen ausgibt, die man anhand von n - internen Knoten erzeugen kann.
Nur leider funktioniert dieses nicht, bzw tut nicht das, was es soll !

Schaut es euch am besten mal an !
ponchosi ist offline   Mit Zitat antworten
Ungelesen 08.10.10, 14:37   #6
ponchosi
Anfänger
 
Registriert seit: Jan 2010
Beiträge: 8
Bedankt: 0
ponchosi ist noch neu hier! | 0 Respekt Punkte
Standard

Keiner ?
Ich weiß, ist nicht einfach zu durchschauen, aber die Lösung is verdammt wichtig und ich komm leider nicht drauf ! Wäre super, wenn sich Leute die davon Ahnung haben, sich damit beschäftigen würden
Mir würde auch nen anderer Lösungsansatz helfen !

Also nochmal das Problem :

Gesucht wird ein Programm, dass anhand der Vorgabe der internen Knoten, alle möglichen Strukturen in eine Datei speichert !

Danke Euch !
ponchosi ist offline   Mit Zitat antworten
Ungelesen 08.10.10, 18:33   #7
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Gesucht wird ein Programm, dass anhand der Vorgabe der internen Knoten, alle möglichen Strukturen in eine Datei speichert !
ist das wirklich der exakte wortlaut der aufgabenstellung?
was bedeutet "vorgabe" und was sind bei einem binärbaum "interne" knoten?
uns was ist mit "alle möglichen strukturen" wohl gemeint?
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 Uhr.


Sitemap

().