hilfe12345: for schleife als tabelle ausgeben

hallo ihr,

ich muss das kleine 1mal1 mit hilfe einer for schleife schreiben. klappt auch alles prima.
danach soll man versuchen, dass dies in einer tabelle ausgegeben wird.

mein versuch:

  
<html>  
<head>  
<title>kleine_1x1.html</title>  
</head>  
<body>  
<h2>Das kleine 1x1</h2>  
<script type="text/javascript">  
  
  
  
// Das kleine 1x1  
document.write("<center><table border='2' width='50%'>");  
document.write("<tr>");  
  
for (var i = 1; i <= 10; i = i + 1)  
	for (var j = 1; j <= 10; j = j + 1)  
		document.write("<td>" + i + " * " + j + " = " + i*j + "</td>");  
doument.write("</tr>");  
document.write("</table></center>");  
  
  
</script>  
</body>  
</html>  

jedoch soll ich eine tabelle mit 10 spalten haben. wie kann ich das problem lösen?

hoffe auf eure hilfe!

  1. jedoch soll ich eine tabelle mit 10 spalten haben. wie kann ich das problem lösen?

    Dein Problem ist, dass du beide schleifen ineinander laufen lässt

    Lasse eine Schleife 10x laufen die die tr-Elemente erzeugt und innen drinnen dann eine weitere Schleife die die td-Elemente erstellt.

    Aktuell lässt du 2 Schleifen nur td-Elemente Schreiben und berechnen

    Dh. Du brauchst eine dritte Schleife aussen herum

    1. danke, für die rasche antwort.
      wie würde diese 3. schleife dann aussehen? stehe auf dem schlauch :(

      »» jedoch soll ich eine tabelle mit 10 spalten haben. wie kann ich das problem lösen?

      Dein Problem ist, dass du beide schleifen ineinander laufen lässt

      Lasse eine Schleife 10x laufen die die tr-Elemente erzeugt und innen drinnen dann eine weitere Schleife die die td-Elemente erstellt.

      Aktuell lässt du 2 Schleifen nur td-Elemente Schreiben und berechnen

      Dh. Du brauchst eine dritte Schleife aussen herum

    2. Mahlzeit suit,

      Dein Problem ist, dass du beide schleifen ineinander laufen lässt

      Nein, das ist kein Problem - im Gegenteil: es ist genau richtig.

      Lasse eine Schleife 10x laufen die die tr-Elemente erzeugt und innen drinnen dann eine weitere Schleife die die td-Elemente erstellt.

      Richtig.

      Aktuell lässt du 2 Schleifen nur td-Elemente Schreiben und berechnen

      Auch richtig.

      Dh. Du brauchst eine dritte Schleife aussen herum

      Nein - hilfe12345 sollte nur die beiden vorhandenen und vollkommen korrekten Schleifen richtig nutzen:

      Äußere Schleife: 1 bis 10 = 10 Zeilen

      Innere Schleife: 1 bis 10 = in jeder Zeile jeweils 10 Spalten

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      1. Äußere Schleife: 1 bis 10 = 10 Zeilen
        Innere Schleife: 1 bis 10 = in jeder Zeile jeweils 10 Spalten

        Recht hast du, Denkfehler meinerseits.

  2. hallo ihr,

    ich muss das kleine 1mal1 mit hilfe einer for schleife schreiben. klappt auch alles prima.
    danach soll man versuchen, dass dies in einer tabelle ausgegeben wird.

    [...]

    hoffe auf eure hilfe!

    Hausaufgabenhilfe? Das Problem selbst ist einfach. Erstelle eine Tabelle per DOM-Methoden, hänge mit zwei schleifen die <tr>s und <td>s an, hänge die Tabelle an das Dokument an, voila. Falls du aber wirklich an einer Hausaufgabe hängst, solltest du selber auf den Rest kommen.

  3. Hallo,

    ich muss das kleine 1mal1 mit hilfe einer for schleife schreiben. klappt auch alles prima.
    danach soll man versuchen, dass dies in einer tabelle ausgegeben wird.

    jedoch soll ich eine tabelle mit 10 spalten haben. wie kann ich das problem lösen?

    Es soll wohl eine quadratische Anordnung werden:

    x | 1 | 2 | 3 ...
    1 | 1 | 2 | 3 ...
    2 | 2 | 4 | 6 ...
    3 | 3 | 6 | 9 ...
    .
    .
    .

    so kann man z.B. in Zeile 3, Spalte 2 das Ergebnis von 3*2 = 6 ablesen.

    Also brauchst du eine Schleife von 0–9, die jeweils eine Zeile schreibt, und darin eine weitere Schleife von 0–9, die in die aktuelle Zeile je eine Zelle mit dem Ergebnis schreibt, Pseudo-Code:

    schleif zeile 0–9: {
     neue Zeile und darin:
     schleif spalte 0–9: {
       neue Zelle und da rein schreiben: zeile * spalte
     } =>nächste Spalte
    }=>nächste Zeile

    Gruß, Don P

    1. @@Don P:

      nuqneH

      x | 1 | 2 | 3 ...
      1 | 1 | 2 | 3 ...
      2 | 2 | 4 | 6 ...
      3 | 3 | 6 | 9 ...

      Also brauchst du eine Schleife von 0–9,

      Lassen wir doch einfach die Numerierung so wie sie ist: von 1 bis 10.

      die jeweils eine Zeile schreibt, und darin eine weitere Schleife von 0–9, die in die aktuelle Zeile je eine Zelle mit dem Ergebnis schreibt

      Und nicht die Spalten- und Zeilenköpfe vergessen!

      'thead' generieren*
      in 'thead' 'tr' generieren
      in 'tr' 'th' mit Inhalt "×" generieren**
      FOR i = 1 to 10:
        in 'tr' 'th' mit Inhalt "i" generieren
      NEXT i
      'tbody' generieren
      FOR i = 1 to 10:
        in 'tbody' 'tr' generieren
        in 'tr' 'th' mit Inhalt "i" generieren
        FOR j = 1 to 10:
          in 'tr' 'td' mit Inhalt "i * j" generieren
        NEXT j
      NEXT i

      Qapla'

      * „generieren“ umfasse das Einhängen ins DOM

      ** Lasst euch kein 'x' für ein '×' vormachen!

      --
      Bildung lässt sich nicht downloaden. (Günther Jauch)
      1. @Gunnar,

        »» x | 1 | 2 | 3 ...
        »» 1 | 1 | 2 | 3 ...
        »» 2 | 2 | 4 | 6 ...
        »» 3 | 3 | 6 | 9 ...
        »»
        »» Also brauchst du eine Schleife von 0–9,

        Lassen wir doch einfach die Numerierung so wie sie ist: von 1 bis 10.

        Wieso denn? Das kleine Einmaleins geht doch nur bis 9x9, oder nicht?
        Von 0–9 hat man die benötigten 10 Zeilen und Spalten.

        Und nicht die Spalten- und Zeilenköpfe vergessen!

        Eben: Die hat man auch gleich automatisch, wenn man mit 0 anfängt. Zeile 0 ist die Kopfzeile, in die man die einzelnen Ziffern 1–9 eintagen kann, und Spalte 0 ist die erste Spalte, wo ebenfalls nur die Ziffern 1–9 einzutragen sind.

        Mathe- und Informatiklehrer mögen sowas ;-)

        Dazu ein Schwank aus meine Jugend:
        Wir sollten in einer Klausur ein math. Formel zur Volumenberechnung mit Hilfe des Verfahrens der vollständigen Induktion beweisen. Sie ließ sich aber nicht beweisen, war scheinbar falsch. Daher hab' ich sie kurzerhand umgebaut und *meine* Formel bewiesen. Die Ernüchterung kam bald: Nur Note 2, statt der erwarteten 1+ mit Entschuldigung seitens des Lehrers, denn beide Formeln waren richtig. Ich hatte nur die Zählung der Elemente mit n=1 begonnen statt mit 0, wie in der Mathematik üblich. Daher stand in meiner Formel etwas mit n+1 statt n-1 (oder umgekehrt).

        Gruß, Don P

        1. Wieso denn? Das kleine Einmaleins geht doch nur bis 9x9, oder nicht?

          Nein das kleine 1x1 geht von 1x1 bis 10x10

        2. @@Don P:

          nuqneH

          »» Lassen wir doch einfach die Numerierung so wie sie ist: von 1 bis 10.

          Wieso denn? Das kleine Einmaleins geht doch nur bis 9x9, oder nicht?

          AFAIR bis 10 × 10. Wobei die Behandlung der 10 so trivial ist, dass man sie auch weglassen kann . Wobei – bei den heutigen Kiddies ... ;-)

          »» Und nicht die Spalten- und Zeilenköpfe vergessen!

          Eben: Die hat man auch gleich automatisch, wenn man mit 0 anfängt. Zeile 0 ist die Kopfzeile, in die man die einzelnen Ziffern 1–9 eintagen kann, und Spalte 0 ist die erste Spalte, wo ebenfalls nur die Ziffern 1–9 einzutragen sind.

          Aber wollen wir denn nicht Kopfzellen und Datenzellen unterschiedlich auszeichnen? 'th'/'td'.

          Qapla'

          --
          Bildung lässt sich nicht downloaden. (Günther Jauch)
          1. Hi Gunnar,

            Aber wollen wir denn nicht Kopfzellen und Datenzellen unterschiedlich auszeichnen? 'th'/'td'.

            Nein, das geht zu weit. Irgendwas muss der Lehrer ja auch noch auszusetzen haben. Sonst unterstellt er dem Schüler noch, dass der sich alles im forum.de.selfhtml.org hat vorkauen lassen ;-)

            Aber im Ernst: Warum sollte th/td einfacher zu bewerkstelligen sein, wenn man bei 1 anfängt?

            Gruß, Don P

            1. @@Don P:

              nuqneH

              Nein, das geht zu weit. Irgendwas muss der Lehrer ja auch noch auszusetzen haben.

              Ich als Lehrer hätte die Aufgabe schon anders gestellt: Zum Ausrechnen der Malfolgen darf man nicht multiplizieren.

              Aber im Ernst: Warum sollte th/td einfacher zu bewerkstelligen sein, wenn man bei 1 anfängt?

              Das nicht. Aber man hat schon die richtigen Werte für die Multiplikation. Die Malfolge der 0 ist ziemlich uninteressant.

              Wenn man die 'th'-Elemente außerhalb der inneren Schleife generiert und die 'td''-Elemente innerhalb, spart man die Abfrage IF i = 0 THEN generiere 'th' ELSE generiere 'td'.

              Qapla'

              --
              Bildung lässt sich nicht downloaden. (Günther Jauch)
              1. Ich als Lehrer hätte die Aufgabe schon anders gestellt: Zum Ausrechnen der Malfolgen darf man nicht multiplizieren.

                Du meinst einen Zähler dessen Zählschritt aus der ... - nein, wir wollen nicht zu viel verraten :D