KLEINSTE ZAHL <- gelöst

Für Fragen von Einsteigern und Programmieranfängern...
Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: KLEINSTE ZAHL

Beitrag von Teekeks »

theo hat geschrieben:Grundsätzlich kann man bei for Schleifen den Zähler nicht verändern. Da braucht es eine "while do" oder "repeat until" Schleife.
Stimmt nicht:

Code: Alles auswählen

var x:integer;
    pint:PInteger;
begin
  pint:=@x;
  for x:=0 to 42 do
  begin
    Writeln(inttostr(x));
    if x=42 then pint^:=0;
  end;
end;
Fertig ist die Endlosschleife :)
Zuletzt geändert von Teekeks am Do 6. Mai 2010, 20:35, insgesamt 1-mal geändert.

Benutzeravatar
theo
Beiträge: 10945
Registriert: Mo 11. Sep 2006, 19:01

Re: KLEINSTE ZAHL

Beitrag von theo »

Teekeks hat geschrieben: Stimmt nicht:
Fertig ist die Endlosschleife :)
Naja, das nenne ich "den Compiler verarschen". ;-) Ich bleibe bei meiner Aussage.

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: KLEINSTE ZAHL

Beitrag von Teekeks »

Aber IMHO ist das "grundsätzlich" falsch gewählt :)

Weil: nur weil der Compiler das nicht will kann das doch trotzdem gehen...

Benutzeravatar
theo
Beiträge: 10945
Registriert: Mo 11. Sep 2006, 19:01

Re: KLEINSTE ZAHL

Beitrag von theo »

Teekeks hat geschrieben:Aber IMHO ist das "grundsätzlich" falsch gewählt :)
Das sind sprachliche Feinheiten. Ich habe "grundsätzlich" geschrieben, im Sinne von "grundsätzllich, falls keiner ein blödes Beispiel findet, wie man es trotzdem hinkriegt". ;-)
Es war also abschwächend und nicht verstärkend gemeint.
Gut so?

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: KLEINSTE ZAHL

Beitrag von Teekeks »

Ich glaube das können wir so stehen lassen.
(Mist, wieder ein Punkt an dich ;) )

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: KLEINSTE ZAHL

Beitrag von Targion »

Theo the invincible :mrgreen:

Benutzeravatar
theo
Beiträge: 10945
Registriert: Mo 11. Sep 2006, 19:01

Re: KLEINSTE ZAHL

Beitrag von theo »

:lol:

Ich kann auch noch nachtreten mit einem prominenten Zitat: :wink:
"Trying to outsmart a compiler defeats much of the purpose of using one."
B. Kernighan & Plauger, "The Elements of Programming Style"

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: KLEINSTE ZAHL

Beitrag von pluto »

@Stephanie H
Dein Code sieht ja recht Lustig aus.... Es geht also um ein 2D Array. Und du möchtest jetzt einfach in einer Spalte die kleinste Zahl finden ? Oder im ganzen 2D Array die kleinste Zahl ? Hier mal mein Vorschlag:

Code: Alles auswählen

var
  z:Integer;
begin
  z:=0;
  for y:=0 to ZeilenAnzahl do begin
    for x:=0 to SpaltenAnzahl do begin
     if Mein2DArray[y,x] < z then z:=Mein2DArray[y,x];
   end;
  end; 
end;
Schon findest du die kleinste Zahl. Allerdings ist ein 2D Array etwas ungewöhnlich. Warum nicht ein Normaler 1D Array ?
MFG
Michael Springwald

Stephanie H.
Beiträge: 91
Registriert: Sa 6. Feb 2010, 15:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: KLEINSTE ZAHL

Beitrag von Stephanie H. »

also ich glaub ich probier mal plutos variante aus [danke pluto !D]
ich hab ein 2D-Array genommen weil
also ich muss da so von verschiedenen städten die abstände berrechnen und die städte mit einer am nahesten liegenden stadt verbinden...
und das sind irgendwie 1000 städte
und jede spalte steht für eine stadt und in den zeilen sind dann die abstände von den anderen städten zu der stadt...
hört sich vielleicht ein bisschen kompliziert an...

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1635
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: KLEINSTE ZAHL

Beitrag von corpsman »

Hört sich sehr komisch an schon mal nach http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm oder http://en.wikipedia.org/wiki/A* gesucht ?

Auf meiner HP gibt es da auch schon "einfache" Delphi Implementierungen Allerdings habe ich die noch nicht nach Lazarus portiert...
--
Just try it

Antworten