AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi FOR-Schleifen-Start während Durchlauf +1 zählen
Thema durchsuchen
Ansicht
Themen-Optionen

FOR-Schleifen-Start während Durchlauf +1 zählen

Ein Thema von Svenkan · begonnen am 19. Apr 2007 · letzter Beitrag vom 19. Apr 2007
Antwort Antwort
Seite 1 von 3  1 23      
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#1

FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 14:30
Hey!
Für eine Berechnung von ausschließlich ungraden Zahlen in einer FOR-Schleife (For zaehler:=start To ende Do Begin) muss 'zaehler' während des Durchlaufs immer schon um 1 erhöht werden, damit er beim nächsten z.B. direkt von 1 auf 3 springt.
Weiß jemand, wie das geht?
Wenn ichs mit zaehler:=zaehler+1 mache, bekomm ich nur nen Fehler ([Error] Unit1.pas(530): Assignment to FOR-Loop variable 'zaehler').
Sven Kannenberg
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#2

Re: FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 14:31
Mach es mit einer WHILE Schleife
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#3

Re: FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 14:32
Es gibt eine Variante, aber die sollte man glaube ich nicht anwenden...
verwende als Ersatz eine While x=... do - Schleife!
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 14:37
Das Problem ist, dass ich das für Informatik brauche und es dort mit einer FOR-Schleife gemacht werden muss...
Welche Variante wär das denn?
Sven Kannenberg
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5

Re: FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 14:38
Zitat von Svenkan:
Das Problem ist, dass ich das für Informatik brauche und es dort mit einer FOR-Schleife gemacht werden muss...
Welche Variante wär das denn?
Ein bisschen Assembler, Pointer-Arithmetik, etc. Dinge die in der Schule nie dran genommen werden und wenn Du die erklären müsstest... Nein, in Pascal/Delphi erlaubt es die Sprache nicht die Schleifenvariabel zu ändern. Das kann der Lehrer dann auch nicht verlangen, da musst Du auf WHILE ausweichen.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#6

Re: FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 14:39
Dann mach doch einfach:
If Zaehler mod 2 <> 0 Edit: Tag korriegiert
Richard Mahr
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 14:40
Entkoppele die Laufvariable von der in der Schleife verwendeten.:
Delphi-Quellcode:
For i := 0 to ... do
begin
    i2 := i*2+1;
...
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 14:47
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var zaehler,zaehler2,ende,start: Integer;
    zahl: Real;
begin
start:=StrToInt(Edit12.text);
ende:=StrToInt(edit14.Text);
zahl:=1;
 For zaehler:=start To ende Do Begin
  zahl:=zahl+zaehler;
  zaehler2:=zaehler+1;
 end;
 edit13.text:=FloatToStr(zahl);
end;
Wie setze ich das nun wieder ein?
Weil, wenn ich zaehler=zaehler2 wähle, bekomm ich wieder den gleichen Fehler wie zum Anfang.
Das hatte ich ja auch schonmal ausprobiert...
Sven Kannenberg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 14:49
Man sollte den Zähler der Schleife nicht manuell verändern.
Markus Kinzler
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: FOR-Schleifen-Start während Durchlauf +1 zählen

  Alt 19. Apr 2007, 14:50
Gibts denn sonst noch ne Möglichkeit, dass man innerhalb einer Schleife halt nur die ungraden Zahlen addiert?
Das Problem ist, dass ich in der Stunde leider nicht da war und deswegen leider grad vor dem Problem stehe.
Sven Kannenberg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 19:40 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