Frage zu bestimmter Matrix & Rundenfunktion

  • Excel

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von WhitePage.

    Frage zu bestimmter Matrix & Rundenfunktion

    Guten Morgen,
    da ich nun ziemlich alle Aufgaben lösen konnte, fehlen mir noch 2 Sachen (1x wichtig, 1x nicht so wichtig ;) ) zum abschließen der Übung.

    1)
    Ich möchte folgendes Ergebnis haben:
    1 7 usw..
    3 9
    5 11
    1 ist fix vorgegeben, die nachfolgenden Zahlen sollen sich um "K" erhöhen. Mein Code bis jetzt:

    Sub test(n, k)
    Dim A()
    ReDim A(n, n)
    For i = 1 To n
    For j = 1 To n
    A(1, 1) = 1
    A(i, j) = A(i - 1, j) + k
    Next j
    Next i
    Call arrayPrint(A)
    End Sub

    Damit schaffe ich es zwar
    1
    3
    5
    zu errechnen, aber ab der zweiten Reihe funktioniert das natürlich nicht mehr.Für Tipps hierfür wäre ich sehr dankbar (wenn möglich nicht gleich die ganze Lösung posten)

    Vielen Dank im Voraus und noch schönes Wochenende!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „reality“ ()

    reality schrieb:

    Wie funktioniert denn Runden in VBA? Das Ergebnis dieses Codes möchte ich gerne gerundet haben.
    Hat sich erledigt!
    Ich weiß nicht, wie du es gelöst hast aber denk nochmals darüber nach:
    In der Praxis ist Runden meist fehl am Platz.
    Algorithmen/Datenspeicherung und Anzeige sind zwei zu trennende Bereiche.
    Üblicherweise werden die Zahlen intern so genau wie möglich gehalten und dafür das Anzeigeformat auf ein übersichtliches Maß beschränkt.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Deine Aufgabenstellung ist für nicht nicht aussagekräftig genug, als dass ich daraus lese, was du tatsächlich willst.

    Du lässt beide Schleifen von 1 bis n laufen.
    Das gibt eine quadratische Matrix. Ist es das, was du willst?
    Ansonsten überleg, wo die innere Schleife beginnen sollte.

    Wenn du den Debugger zu Hilfe nimmst und im Einzelschritt durch den Code gehst, siehst du relativ schnell, wo der Code nicht das tut, was du erwartest.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ich versuche es etwas besser zu formulieren

    1) Ja ich will eine quadratische Matrix haben
    2) Der Bereich (1,1) = 1
    3) Die nachfolgenden Zahlen sollen sich aus der vorherigen Zahl + k ergeben. Hier ist k = 2
    Damit möchte ich dann dieses Ergebnis erzielen:
    1 7 usw...
    3 9
    5 11

    Die erste Spalte ging auch ohne Probleme, nur schaffe ich es irgendwie nicht den Lauf ab Spalte 2 fortzusetzen.
    Also ich kopiere jetzt mal die Angabe hinein, vielleicht kommen wir dann weiter :)

    "Test creates an n by n array (an array with n rows and n columns) where,
    starting with the value 1, each subsequent cell is increased by k and the matrix is traversed
    by column"
    Resultat:
    1 7 13
    3 9 15
    5 11 17