AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein For-Schleifen in rekursive Funktion umwandeln
Thema durchsuchen
Ansicht
Themen-Optionen

For-Schleifen in rekursive Funktion umwandeln

Ein Thema von holle · begonnen am 21. Dez 2006 · letzter Beitrag vom 21. Dez 2006
Antwort Antwort
holle

Registriert seit: 15. Nov 2005
Ort: Uckerland
138 Beiträge
 
Delphi 7 Enterprise
 
#1

For-Schleifen in rekursive Funktion umwandeln

  Alt 21. Dez 2006, 17:25
Hallo,
ich möchte meine fünf ineinander verschachtelten for-Schleifen in eine Rekursive funktion umwandeln. Ich habe mir das Musterbeispiel mit der Fakultät schon mal angesehen, weiß aber nicht wie ich das bei meinem Problem umsetzen kann.

Code:
int i, j, k, l, m;
int anzahl = 100;

for (i = 0; i < anzahl; i++)
  for (j = 0; j < anzahl; j++)
    for (k = 0; k < anzahl; k++)
      for (l = 0; l < anzahl; l++)
        for (m = 0; m < anzahl; m++)
        {
          //anweisungen
        }
- marcel -
Marcel
  Mit Zitat antworten Zitat
fwsp
(Gast)

n/a Beiträge
 
#2

Re: For-Schleifen in rekursive Funktion umwandeln

  Alt 21. Dez 2006, 17:28
es ist nicht sinnvoll alles rekursiv zu machen, oder manchmal auch nicht möglich, beispielsweise bei nem mehrdimensionalen array. in diesem fall würd ich es so lassen.
bei der rekursion möchtest du ein komplexes problem auf ein einfacheres zurückführen, das klappt aber nicht bei allen problemen.
  Mit Zitat antworten Zitat
holle

Registriert seit: 15. Nov 2005
Ort: Uckerland
138 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: For-Schleifen in rekursive Funktion umwandeln

  Alt 21. Dez 2006, 17:53
mein tutor meinte, dass es übersichtlicher sei, wenn ich alle schleifen zu einer zusammenfasse. ich dachte das geht mit einer rekursiven funktion. geht es anders?

- marcel -
Marcel
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#4

Re: For-Schleifen in rekursive Funktion umwandeln

  Alt 21. Dez 2006, 18:00
Da es immer dieselbe Bedingung ist, kannst du eine Schleife erstellen und die Anweisungen darin ausführen lassen.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: For-Schleifen in rekursive Funktion umwandeln

  Alt 21. Dez 2006, 18:09
Zitat von fwsp:
es ist nicht sinnvoll alles rekursiv zu machen,
ack
Zitat von fwsp:
oder manchmal auch nicht möglich, ...
nack: Es ist immer möglich.
Zitat von fwsp:
bei der rekursion möchtest du ein komplexes problem auf ein einfacheres zurückführen, das klappt aber nicht bei allen problemen.
Doch, es klappt immer. Nur es wird vielleicht bescheuert.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: For-Schleifen in rekursive Funktion umwandeln

  Alt 21. Dez 2006, 18:19
Zitat von holle:
mein tutor meinte, dass es übersichtlicher sei, wenn ich alle schleifen zu einer zusammenfasse.
Du könntest eine Schleife von 0 bis 99^5 laufen lassen und dann per div und mod rauskriegen, welche Werte i, j, k, l und m jetzt hätten. Das dauert aber länger und würde imho auch viel unübersichtlicher sein.

Zitat von fwsp:
es ist nicht sinnvoll alles rekursiv zu machen, oder manchmal auch nicht möglich
Wie sähe so eine Schleife denn aus, die nicht rekursiv darstellbar ist?
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#7

Re: For-Schleifen in rekursive Funktion umwandeln

  Alt 21. Dez 2006, 19:04
Zitat von Cöster:
Wie sähe so eine Schleife denn aus, die nicht rekursiv darstellbar ist?
Gibts nicht und hat alzaimar auch schon erwähnt.

µ-rek = prim-rek = while = turing berechenbar
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz