Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C++/C# schleife mir beliebiger schrittweite moeglich? (https://www.delphipraxis.net/39043-c-c-schleife-mir-beliebiger-schrittweite-moeglich.html)

richard_boderich 27. Jan 2005 21:42


C++/C# schleife mir beliebiger schrittweite moeglich?
 
jo leutz mal ne frage!

aus basic kenn ich so etwas

for i=0.1 to 0.009 step -0.001
tue irgentwas mit i

so was vermiss ich schmerzlich in delphi

geht dat mit C ?

phXql 27. Jan 2005 21:45

Re: C++/C# schleife mir beliebiger schrittweite moeglich?
 
Zitat:

Zitat von richard_boderich
jo leutz mal ne frage!

aus basic kenn ich so etwas

for i=0.1 to 0.009 step -0.001
tue irgentwas mit i

so was vermiss ich schmerzlich in delphi

geht dat mit C ?

jo,
Code:
for(int i = 0;i < 10; i += 10)
{
}

Sprint 27. Jan 2005 22:09

Re: C++/C# schleife mir beliebiger schrittweite moeglich?
 
Zitat:

Zitat von richard_boderich
aus basic kenn ich so etwas

for i=0.1 to 0.009 step -0.001
tue irgentwas mit i

so was vermiss ich schmerzlich in delphi

Kannst du mit Delphi doch auch machen.
Delphi-Quellcode:
  I := 50;
  while I > 9 do
  begin
    // Visual Basic: For I = 50 To 10 Step -2
    Dec(I, 2);
  end;
Delphi-Quellcode:
  I := 50;
  repeat
    // Visual Basic: For I = 50 To 10 Step -2
    Dec(I, 2);
  until I < 10;

richard_boderich 27. Jan 2005 23:14

Re: C++/C# schleife mir beliebiger schrittweite moeglich?
 
sorry leuzt,

dat sind für mich absolut unbefriedigende antworten. ich weis auch wie
man soetwas in delphi realisieren kann. dat war aber nich meine
frage! die bezog sich mehr auf die ungefähre sysntax.

das programmconstruct mit der mit der zusatzlichen inc bzw, dec zeile
is mist. grad wenn es um mathematische visualiesierung geht (funktionsdarstellungen usw.)


den code versteh ich nicht

Delphi-Quellcode:
for(int i = 0;i < 10; i += 10)

}

for schleife mit startwert 0 (integer) endwert kleiner 10 soweit ok
aber die schleifenbedingung i +=10 was bedeutet das

auserdem konnte ich auch so etwas machen

for i=1 to 200 do step 0.001 --> man beachte die unterschiedlichen Datentypen Integer und Real

mir gehts darum in basic 1 zeile code

in delhpi schon 5 siehe beispiel von Sprint

Binärbaum 27. Jan 2005 23:19

Re: C++/C# schleife mir beliebiger schrittweite moeglich?
 
Wenn man eine Schrittweite kleiner als eins braucht, kann man ja die oben dargestellte Variante mit while-Schleife nehmen und statt Integer als Laufvariable nimmt man halt einen Real-Typ. Ist doch ganz einfach, wo liegt da das Problem?

MfG
Binärbaum

Binärbaum 27. Jan 2005 23:21

Re: C++/C# schleife mir beliebiger schrittweite moeglich?
 
Zitat:

Zitat von richard_boderich
for schleife mit startwert 0 (integer) endwert kleiner 10 soweit ok
aber die schleifenbedingung i +=10 was bedeutet das

Das bedeutet i = i +10;

MfG
Binärbaum

happyaura 27. Jan 2005 23:41

Re: C++/C# schleife mir beliebiger schrittweite moeglich?
 
Zitat:

richard_boderich hat folgendes geschrieben:
Zitat:

for schleife mit startwert 0 (integer) endwert kleiner 10 soweit ok
aber die schleifenbedingung i +=10 was bedeutet das
Das bedeutet i = 1 +10;

MfG
Kleine Korrektur:

i+=10; ist gleichzusetzen mit i= i+10; (nicht 1)

Sprint 27. Jan 2005 23:58

Re: C++/C# schleife mir beliebiger schrittweite moeglich?
 
Zitat:

Zitat von richard_boderich
for i=1 to 200 do step 0.001 --> man beachte die unterschiedlichen Datentypen Integer und Real

mir gehts darum in basic 1 zeile code

In VB kannst du I aber auch nicht als Long oder Integer deklarieren. Da musst du auch einen Variablentyp nehmen der mit Gleitkommazahlen umgehen kann.

Delphi-Quellcode:
const
  STEP = 0.001 ;
var
  I: Integer;
  X: Double;
begin

  // Visual Basic: for i=0.1 to 0.009 step -0.001

  for I := Round(0.1 / STEP) downto Round(0.009 / STEP) do
  begin
    X := I * STEP;
  end;

end;

Binärbaum 1. Feb 2005 11:40

Re: C++/C# schleife mir beliebiger schrittweite moeglich?
 
Man kann doch auch auf diese ganze Geschichte mit Round() verzichten:
Delphi-Quellcode:
var i: Double;
...
i:= 0.1;
while i >= 0.009 do begin
 //tue irgendwas mit i
 i:= i- 0.001;
end;
Das entspricht dann dem Code:
Code:
for i=0.1 to 0.009 do step -0.001
   tue irgendwas mit i
MfG
Binärbaum

Oxmyx 1. Feb 2005 11:50

Re: C++/C# schleife mir beliebiger schrittweite moeglich?
 
Die For-Schleife von C ist der For-Schleife von Delphi in jeder nur erdenklichen Hinsicht überlegen. Die Syntax sieht so aus:
Code:
for(Startwert; Forsetzungsbedingung; Inkrement)
Damit kann man so gut wie alles machen, z.B. auch eine Schleife, in der zwei Variablen gegeneinander laufen:
Code:
for(int i = 0, int j = 10; i < 10; i++, j--)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 Uhr.
Seite 1 von 2  1 2      

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