Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schreibe morgen Klausur (https://www.delphipraxis.net/41863-schreibe-morgen-klausur.html)

Speedmaster 9. Mär 2005 21:15

Re: Schreibe morgen Klausur
 
Entweder du beschäftigst dich mit dem Programmieren was ein bischen willen vorraussetzt, oder du beschäftigst dich mit deinen Klassenkameraden, ich würde das erste bevorzugen solange die Klassenkameraden nicht Weiblich sind! :drunken:

Binary 9. Mär 2005 21:20

Re: Schreibe morgen Klausur
 
an chkdsk:

meine schwerpunkte liegen auch eigentlich im Hard und Sofware bereich, nicht im Progger Bereich, obwohl ich da jetzt umsteigen will ins Proggen, habe mir jetzt auch ein Buch besorgt, und werde das die Ferien durch nehmen

juhuuuu es klappt! DANKE !!!

Und noch ne Frage, möchte jemand eine Gmailadresse? Kann mommentan Einladungen verschicken!

atreju2oo0 10. Mär 2005 06:09

Re: Schreibe morgen Klausur
 
Zitat:

Zitat von jfheins
Um auch die letzte Möglichkeit aufzuzählen:
Delphi-Quellcode:
procedure StrRev (var Str: String);
var
  str2: String;
  i: integer;
begin
str2 := str;
for i := length (str2) downto 1 do
  str := str2[i];


Ich hätte da noch eine... ;)

Delphi-Quellcode:

function reku(wort:string;i:integer):string;
  begin
    if i<length(wort) then result:=reku(wort,i+1)+wort[i]
     else result:='';
  end;
Aufgerufen wird das dann über

reku(meinWort,1);


Is zwar nicht die beste Möglichkeit aber Lehrer mögen Rekursionen!
:)

Prym 10. Mär 2005 14:19

Re: Schreibe morgen Klausur
 
vieleicht wäre es noch schön eine funktionierende variante rein zu stellen auch für andere

gekmihesg 10. Mär 2005 14:23

Re: Schreibe morgen Klausur
 
Delphi-Quellcode:
function Reverse(str: string): string;
var
  i : integer;
begin
  setLength(result, Length(str));
  for i := 1 to Length(str) do
    result[Length(result) - i + 1] := str[i];
end
verbessert

Binärbaum 10. Mär 2005 14:27

Re: Schreibe morgen Klausur
 
Zitat:

Zitat von jfheins
Um auch die letzte Möglichkeit aufzuzählen:
Delphi-Quellcode:
procedure StrRev (var Str: String);
var
  str2: String;
  i: integer;
begin
str2 := str;
for i := length (str2) downto 1 do
  str := str2[i];

Die dürfte wohl nicht ganz funktionsfähig sein. Das kann man aber schnell ändern, wenn man etwas nachbessert:
Delphi-Quellcode:
procedure StrRev2(var aStr: String);
var
  str2: String;
  i: integer;
begin
  str2 := astr;
  for i := length (str2) downto 1 do
    astr[length(str2)-i+1] := str2[i];
end;
MfG
Binärbaum

[Edit]
@gekmihesg:
Die Zeichen eines Strings beginnen immer beim Index 1, nicht bei null.
[/Edit]

opfer.der.genauigkeit 10. Mär 2005 15:08

Re: Schreibe morgen Klausur
 
Zum Thema "String umdrehen"

String umdrehen

Da gibt es einen Algo von "Ralph Friedmann (TeamB)", der sollte deinen Lehrer beeindrucken können. :twisted:

Mamphil 10. Mär 2005 15:40

Re: Schreibe morgen Klausur
 
Hi!
Zitat:

Zitat von atreju2oo0
Ich hätte da noch eine... ;)

Delphi-Quellcode:

function reku(wort:string;i:integer):string;
  begin
    if i<length(wort) then result:=reku(wort,i+1)+wort[i]
     else result:='';
  end;
Aufgerufen wird das dann über

reku(meinWort,1);


Is zwar nicht die beste Möglichkeit aber Lehrer mögen Rekursionen!
:)

Wieso so "kompliziert"?

Schreib doch:
Delphi-Quellcode:

function reku(wort: string; i: integer = 1):string;
  begin
    if i < length(wort) then
      result:=reku(wort,i+1)+wort[i]
    else
      result:='';
  end;
Aufgerufen wird das dann über

reku(meinWort);

Wenn der zweite Parameter fehlt, i automatisch = 1 gesetzt... (verwirrt evtl. den Lehrer ;) )

Mamphil

Binärbaum 10. Mär 2005 17:26

Re: Schreibe morgen Klausur
 
Zitat:

Zitat von Mamphil
Hi!
Zitat:

Zitat von atreju2oo0
Ich hätte da noch eine... ;)
Delphi-Quellcode:
function reku(wort:string;i:integer):string;
  begin
    if i<length(wort) then result:=reku(wort,i+1)+wort[i]
     else result:='';
  end;
Aufgerufen wird das dann über

reku(meinWort,1);


Is zwar nicht die beste Möglichkeit aber Lehrer mögen Rekursionen!
:)

Wieso so "kompliziert"?

Schreib doch:
Delphi-Quellcode:
function reku(wort: string; i: integer = 1):string;
  begin
    if i < length(wort) then
      result:=reku(wort,i+1)+wort[i]
    else
      result:='';
  end;
Aufgerufen wird das dann über

reku(meinWort);

Wenn der zweite Parameter fehlt, i automatisch = 1 gesetzt... (verwirrt evtl. den Lehrer ;) )

Mamphil

Außer dem Aufruf der Funktion ist es auch nicht anders als die Funktion von atreju2oo0.
IMHO sind iterative Lösungen der rekursiven vorzuziehen, da die Rekursion durch die mehrfachen Aufrufe den Speicher zumüllt (und somit auch langsamer sein dürfte).

MfG
Binärbaum

Mamphil 11. Mär 2005 13:29

Re: Schreibe morgen Klausur
 
Zitat:

Zitat von Binärbaum
Außer dem Aufruf der Funktion ist es auch nicht anders als die Funktion von atreju2oo0.
IMHO sind iterative Lösungen der rekursiven vorzuziehen, da die Rekursion durch die mehrfachen Aufrufe den Speicher zumüllt (und somit auch langsamer sein dürfte).

Da hast du ja völlig Recht! Es ging mir auch nur darum, den dem Aufruf ziemlich sinnlosen zweiten Parameter zu "verstecken".

Mamphil


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:37 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz