www.vorkurse.de
Ein Projekt von vorhilfe.de
Die Online-Kurse der Vorhilfe

E-Learning leicht gemacht.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Teams · Forum · Wissen · Kurse · Impressum
Forenbaum
^ Forenbaum
Status Mathe-Vorkurse
  Status Organisatorisches
  Status Schule
    Status Wiederholung Algebra
    Status Einführung Analysis
    Status Einführung Analytisc
    Status VK 21: Mathematik 6.
    Status VK 37: Kurvendiskussionen
    Status VK Abivorbereitungen
  Status Universität
    Status Lerngruppe LinAlg
    Status VK 13 Analysis I FH
    Status Algebra 2006
    Status VK 22: Algebra 2007
    Status GruMiHH 06
    Status VK 58: Algebra 1
    Status VK 59: Lineare Algebra
    Status VK 60: Analysis
    Status Wahrscheinlichkeitst

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstiges" - For-Schleife verlassen
For-Schleife verlassen < Sonstiges < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

For-Schleife verlassen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:06 Di 15.01.2013
Autor: ralfr

Hallo,
ich beschäftige mich momentan mit der Programmiersprache C.
Meine Frage ist nun: ich habe in einer for-schleife mehrere if-Bedingungen geschachtelt. Wenn dort eine bestimmte If-Bedingung nicht erfüllt ist, soll die For-Schleife frühzeitig verlassen werden. Ist soetwas überhaupt möglich? Und wenn ja, wie mache ich das?

        
Bezug
For-Schleife verlassen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:11 Di 15.01.2013
Autor: leduart

Hallo
in den meisten Sprachen gibt es exit oder aehnliches  um eine Schleife zu verlassen, sonst kannst du bei i=1 to n wohl einfach i=n setzen
da ich kein C spreche nur als Mitteilung.
Gruss leduart

Bezug
        
Bezug
For-Schleife verlassen: Antwort
Status: (Antwort) fertig Status 
Datum: 18:21 Di 15.01.2013
Autor: Diophant

Hallo,

wenn ich mich noch recht entsinne, sollte break; das gewünschte leisten.

Es ist bei mir schon lange her, dass ich programmiert habe, und damals habe ich auch eher Sprachen wie TurboPASCAL und PowerBASIC bevorzugt (war alles noch unter MS-DOS...), aber: eine for-Schleife macht man doch sinnvollerweise nur dann, wenn die Anzahl der Schleifendurchläufe vorher klar ist. Sonst würde sich eher eine while-Struktur anbieten, da kann man doch die Abbruchkriterien dann viel sauberer und im Zusammenhang definieren.


Gruß, Diophant

Bezug
                
Bezug
For-Schleife verlassen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:27 Di 15.01.2013
Autor: ralfr


> Hallo,
>  
> wenn ich mich noch recht entsinne, sollte break; das
> gewünschte leisten.
>  
> Es ist bei mir schon lange her, dass ich programmiert habe,
> und damals habe ich auch eher Sprachen wie TurboPASCAL und
> PowerBASIC bevorzugt (war alles noch unter MS-DOS...),
> aber: eine for-Schleife macht man doch sinnvollerweise nur
> dann, wenn die Anzahl der Schleifendurchläufe vorher klar
> ist. Sonst würde sich eher eine while-Struktur anbieten,
> da kann man doch die Abbruchkriterien dann viel sauberer
> und im Zusammenhang definieren.
>  

Naja bei for weiß ich am besten wie ich das realisieren kann.
Denn ich habe folgendes Problem:
Eine Funktion soll ein bekanntest Array aus Zeichen dahingehend untersuchen ob es ein Palindrom ist, also ob die Zeichen von vorn das gleiche ergeben wie von hinten gelesen.
also zb otto
nicht beachtet sollen dabei Groß-kleinschreibung, leerzeichen und sonderzeichen.

Deswegen brauch ich ja erstmal eine Schleife die von vorn alles stück für stück durchläuft und in dieser muss dann noch eine sein die von hinten durchläuft und da anhält, wo es ein buchstaben gibt.


danke für den Tipp mit break :) es hat funktioniert
Allerdings komm ich jetzt zum nächsten Problem.
Wenn die for schleife frühzeitig abgebrochen wird, soll etwas anderes von der Funktion zurückgegeben werden, als wenn die for-Schleife komplett durchläuft.

Wie mache ich dies Unterscheidung?


Bezug
                        
Bezug
For-Schleife verlassen: Antwort
Status: (Antwort) fertig Status 
Datum: 18:33 Di 15.01.2013
Autor: Diophant

Hallo,

das sind eben die Probleme, die man sich mit solchen Konstrukten einhandelt.

Normalerweise sollte sich die Laufvariable der for-Schleife nach Beendigung noch auslesen lassen. Je nachdem, wie du sie hochzählst, sollte sie entweder die Anzahl n der Schleifendurchläufe enthalten oder n+1. Wenn der Wert aber niedriger ist, würde das bedeuten, dass die Schleife vorzeitig beendet wurde. In Pascal hätte das funktioniert, von daher müsste es eigentzlich imnguten alten ANSI-C auch klappen.


Gruß, Diophant

Bezug
                        
Bezug
For-Schleife verlassen: Antwort
Status: (Antwort) fertig Status 
Datum: 19:47 Di 15.01.2013
Autor: leduart

Hallo
ist in deiner definition o&%t.%t  = O --   ein Palindrom?
dann ist eine for Schleife mit oder ohne break doch keine gute Loesung?
eine for Schleife koennte natuerlich erstmal alles stoerende beseitigen und Grossbuchstaben durch kleine ersetzen
gruss leduart


Bezug
                        
Bezug
For-Schleife verlassen: Antwort
Status: (Antwort) fertig Status 
Datum: 00:38 Mi 16.01.2013
Autor: Event_Horizon

Hallo!
Wenn mit der for-schleife auch die Funktion sofort abgebrochen werden soll, kannst du auch gleich ein "return" statt einem "break" nehmen.

Ansonsten würde ich mich nicht zu sehr drauf versteifen, daß ein break böse ist, und daß man unbedingt zu ner while-loop wechseln muß. Grade bei komplizierteren Dingen ist ein break schnell mal  einfacher einzubauen, aber auch einfacher zu verstehen. Und das ist so ziemlich das wichtigste: daß man den code auch versteht!

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorkurse.de
[ Startseite | Mitglieder | Teams | Forum | Wissen | Kurse | Impressum ]