mikrocontroller.net

Forum: PC-Programmierung Rekursive Funktion, die jede Beziehung darstellt


Autor: Nostrifizius in der Satrapenwirtschaft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es sei ein Array gegeben. Dieses enthalte etwa

a;b
a;c
a;d
c;h
d;h
d;g

Wie muß eine rekursive Funktion aussehen, was ihr übergeben werden, 
damit jede Beziehung dargestellt ist. Damit ist gemeint:

Beispiel oben, Auszug.

a = f(c)
c = f(h)

Daraus folgt

a = f(h).

Also soll der Liste nun

a;h zugefügt werden, sodaß sie so aussieht:

a;b
a;c
a;d
c;h
d;h
d;g
a;h

Und das soll mit allen Elementen passieren. Rekursiv auch insofern, daß, 
sobald ein h;x vorhanden ist, auch die Beziehung a;x zugefügt wird.

Danke im Voraus für gute Antworten

PS: Leider muß ich einige von euch enttäuschen, das ist weder eine 
Hausaufgabe noch Geschäftliches. Die, die so denken sollen sich lieber 
mit der Fragestellung selbst auseinandersetzen.

Autor: tra-tri-troll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich dich richtig verstanden habe, möchtest du die transitive Hülle
der Relation x;y berechnen. Hier ist etwas zum Lesen:

  http://de.wikipedia.org/wiki/Transitive_H%C3%BClle
  http://de.wikipedia.org/wiki/Algorithmus_von_Floyd...

Autor: Nostrifizius in der Satrapenwirtschaft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yalu, du scheinst das studiert zu haben. Die transitive Hülle ist genau 
das, was ich suche.

Ich versuche mich daran, würde mich aber auch freuen, wenn jemand das 
auf meinen Fall anwenden kann - in Pseudocode oder VB.

Autor: U.R. Schmitt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nostrifizius in der Satrapenwirtschaft schrieb:
> PS: Leider muß ich einige von euch enttäuschen, das ist weder eine
> Hausaufgabe noch Geschäftliches. Die, die so denken sollen sich lieber
> mit der Fragestellung selbst auseinandersetzen.
Was denn sonst?

Nostrifizius in der Satrapenwirtschaft schrieb:
> Ich versuche mich daran, würde mich aber auch freuen, wenn jemand das
> auf meinen Fall anwenden kann - in Pseudocode oder VB.
Hast du doch schon, ist doch alles ganz klar in den Links von Yalu 
beschrieben.
Inclusive Codeschnipsel.

Bist du jetzt nicht in der Lage oder zu faul den Code im Link in VB zu 
portieren und anzuwenden?

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nostrifizius in der Satrapenwirtschaft schrieb:
> Ich versuche mich daran,

Richtig so!

> würde mich aber auch freuen, wenn jemand das auf meinen Fall anwenden
> kann - in Pseudocode oder VB.

Falls dein Versuch von oben trotz aller mühen erfolglos bleiben sollte,
kannst du ja den bis dahin erarbeiteten Code hier posten. Wenn es schon
einmal etwas zum Anschauen gibt, sind die Leute sicher auch bereit, dir
bei der Fehlersuche zu helfen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.