www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "C/C++" - for ()
for () < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

for (): Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 08:36 Di 30.01.2007
Autor: votec

So nach einer Überarbeitung dieses Textes will ich noch mal auf die Problemstellung zurück kommen.
Es geht um for () Schleifen und um das Problem das ich nicht weiß wie sie abgearbeitet werden.
Also z.b.

for(int=i;i<5;i++)
   for(int=j;j<5;j++)
     {
     m[i][j]=1
    if (....bedingung)

     }
Hoffe es ist jetzt besser verständlich.
Wäre nett wenn mir einer helfen könnte
Mfg Julian

        
Bezug
for (): Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 09:43 Di 30.01.2007
Autor: Frank05

Hallo,

Deiner Altersangabe entnehme ich mal (PISA zum Trotz), dass du durchaus in der Lage sein solltest ganze Sätze mit erkennbarem Sinn zu formulieren. Aus dem was du hier allerdings so schnell  hingeschustert hast kann ich weder eine Frage ableiten, noch erkennen was du bereits selbst an Lösungswegen versucht hast, oder wo deine Schwierigkeiten nun genau liegen. Da es wohl irgendwie mit for-Schleifen zusammenhängt kann ich dir die folgende Seite [1] als Einführung empfehlen. Wenn du etwas genauer wissen willst und erwartest, dass sich andere Leute auch die Zeit nehmen dir eine klare und verständliche Antwort zu liefern, dann finde ich es eigentlich selbstverständlich, dass du das auch in deinem Anliegen entsprechend zur Geltung bringst.

[1] http://www.cplusplus.com/doc/tutorial/control.html

Bezug
        
Bezug
for (): Antwort
Status: (Antwort) fertig Status 
Datum: 10:57 Di 30.01.2007
Autor: Karl_Pech

Hallo votec,


> for(int=i;i<5;i++)
>     for(int=j;j<5;j++)
>       {
>       m[j]=1
>      if (....bedingung)
>
> }

Bei der Schleifenbedingung sollte int i (bzw. int j) und nicht int=i stehen. Außerdem sollten Laufvariablen immer initialisiert werden (z.B. mit int i = 1 oder so, aber das ist von dem abhängig, was du eigentlich machen willst.) Nach 'm[i][i] = 1' muß ein ';' folgen, also: 'm[i][j]=1;'. Unter der Annahme 'int i = 1' und 'int j = 1' in den Schleifenköpfen wird hier eine Matrix aus [mm]\mathbb{K}^{4\times 4}[/mm] zeilenweise mit 1en gefüllt.
Nach jedem Schreibzugriff auf ein Feld wird dann irgendeine Bedingung überprüft.


> Hoffe es ist jetzt besser verständlich.


Na ja, was genau wolltest du den mit diesem Code anstellen?



Viele Grüße
Karl





Bezug
        
Bezug
for (): Antwort
Status: (Antwort) fertig Status 
Datum: 11:19 Di 30.01.2007
Autor: Frank05


>  Es geht um for () Schleifen und um das Problem das ich
> nicht weiß wie sie abgearbeitet werden.
>  Also z.b.
>

1: for(int=i;i<5;i++)
2:      for(int=j;j<5;j++)
3:        {
4:         m[i][j]=1
5:         if (....bedingung)
6:
7:  }

> Hoffe es ist jetzt besser verständlich.

Vielmehr 'überhaupt' verständlich :-)

Karl hat ja schon einiges zur fehlerhaften Syntax gesagt, daher will ich nur nochmal kurz auf die Semantik von for-Schleifen eingehen:

for(<init> ; <cond> ; <step>) { <block> }

Bei so einer for-Schleife wird immer zuerst der <init> Teil einmal ausgeführt. Üblicherweise definiert man dort nur eine Laufvariable und deren Startwert wie in deinem Beispiel. Als nächstes wird die Bedingung <cond> überprüft. Der Code in <block> wird dann ausgeführt, falls die Bedingung wahr gewesen ist. Nachdem <block> fertig abgearbeitet ist wird der Code in <step> ausgeführt. Hier wird häufig nur die Laufvariable um eins hoch oder runter gezählt. Anschließend wird wieder die Bedingung <cond> überprüft und entsprechend <block> ausgeführt oder nicht. Das ganze wiederholt sich solange, bis die Bedingung irgendwann falsch wird, dann geht es weiter mit dem Code der nach der for-Schleife steht (also auch nach <block>).

Was das Zusammenspiel von mehreren for-Schleifen betrifft, so brauchst du hier nur jede einzelne für sich betrachten. Sind zwei Schleifen nacheinander definiert for( ; ; ) {...} for (; ; ) {... }, dann wird die erste Schleife nach obigem Verfahren ausgewertet, bis ihre Bedingung falsch wird. Erst danach beginnt die Abarbeitung der zweiten Schleife.

In deinem Beispiel hast du sogenannte verschachtelte Schleifen, was aber vom Prinzip her ganz genauso funktioniert. Es wird also zuerst i mit einem Startwert belegt, dann <block> ausgeführt, wobei <block> hier eben eine zweite Schleife beinhaltet. Diese zweite Schleife läuft über die Variable j, so dass du letztlich mit m[1][1] beginnst, dann m[1][2], m[1][3], usw. abarbeitest. Solange wie j < 5 erfüllt ist. Am Ende der inneren Schleife (wenn also j = 5 ist) wird wieder mit der äußeren Schleife weitergemacht und i somit um eins erhöht auf i=2. Dann wird wieder der Codeblock der äußeren Schleife ausgeführt, also die zweite/innere Schleife. Hier beginnt man wieder bei j=1, also mit m[2][1], dann kommt m[2][2] usw.

Am besten du schreibst selbst mal ein paar Programme und spielst ein wenig mit diesen Konstrukten. Schleifen sind absolut essentiell in der Programmierung und du solltest wirklich verstehen was in diesem Beispiel passiert. Du kannst dir ja zum Beispiel mit printf("m[%d][%d]\n", i, j); ausgeben lassen welches Matrixfeld jeweils gerade besucht wird.

Hth,
Frank

Bezug
        
Bezug
for (): Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:57 Di 30.01.2007
Autor: votec

Vielen Dank.....damit ist mir geholfen worden...
Ps: Es geht um eine Klausur bei der man mehrere Ant. zur auswahl hatte um eine Matrix zufüllen....
(leider nicht geschafft)
Danke nochmal :)

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de