Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
07.10.10, 10:04
|
#1
|
Anfänger
Registriert seit: Jan 2010
Beiträge: 8
Bedankt: 0
|
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 !
|
|
|
07.10.10, 10:46
|
#2
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
Bitte verwende Code Tags und bring den Code in ein ordentliches Format.
|
|
|
07.10.10, 20:15
|
#3
|
Anfänger
Registriert seit: Jan 2010
Beiträge: 8
Bedankt: 0
|
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
|
|
|
07.10.10, 21:30
|
#4
|
Banned
Registriert seit: Aug 2010
Beiträge: 209
Bedankt: 70
|
Und wo können wir Dir helfen?
|
|
|
07.10.10, 21:54
|
#5
|
Anfänger
Registriert seit: Jan 2010
Beiträge: 8
Bedankt: 0
|
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 !
|
|
|
08.10.10, 14:37
|
#6
|
Anfänger
Registriert seit: Jan 2010
Beiträge: 8
Bedankt: 0
|
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 !
|
|
|
08.10.10, 18:33
|
#7
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
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
|
|
|
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
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.
().
|