Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo, bin ziemlich neu in vb.net und hab hier etwas, dass ich irgendwie nicht richtig zusammenbekomme..

also ein konsolenprojekt, wo steht, geben sie die hoehe der pyramide ein.. bei eingabe 5 sollte z. B. kommen..

5

44

333

2222

11111

(formatierung stimmt jetzt nicht ganz..)

ich bekomme gerade mal ne pyramide hin, wenn ich gar keine hoehe eingeben lasse sondern nur das in einem array mache.. und dann ist die pyramide aber auch nur eine halbe..

Sub Main()


        'Dim zahl As Integer

        Dim zaehler As String = "54321"

        Dim i As Integer

        Dim j As Integer

        Dim Ergebnis As String = ""



        'Console.WriteLine("Geben sie die Hoehe der Pyramide ein")

        'zahl = Console.ReadLine()



        ' While zaehler < zahl

        'zaehler = zaehler + 1

        ' äußere Schleife

        For i = 0 To 4

            ' innere Schleife

            For j = 0 To i

                Ergebnis += zaehler.Chars(i)

            Next j

            Ergebnis += vbNewLine

        Next i



        ' End While


        Console.WriteLine(Ergebnis)


    End Sub

hab die erweiterungen auskommentiert.. der aktuelle code gibt hald eine halbe pyramide bis 5 aus..

Das giebt ein Dreieck, meinst du das mit "halber Pramide" ?

Das mit deinem zaehler String macht jetzt auch nicht unbedingt Sinn,

wenn du in ner Schleife durch gehst, for i = 1 to x ....

Dann machste um an deinen Char ("1") zu kommen einfach nen Typecast von dem Integer 1 auf den String "1".

Wenn du da jetzt ne wirkliche Pyramide, im anschaulichen Sinne Pyramide, ausgeben willst dann nimm dir am besten bei sowas erst nen Blatt Papier und zeichne dir mal auf was du haben möchtest.

also, Gleichschencklige Pyramide :


    5

   444

  33333

 2222222

111111111

Das wäre imo deine angestrebte Pyramide.

Wenn du da durchzählst :

Zeile | Anzahl Zeichen

1 | 1

2 | 3

3 | 5

4 | 7

5 | 9

So, du willst ja die in dem Fall 5 oben stehn haben, das heist, du denkst hier nicht Pyramide, du denkst hier Rechteck. Du willst ja die 5 in der Mitte der Pyramide stehen haben, nicht am linken Rand.

Die Anzahl Zeichen die du als breite brauchst kannst du dir recht einfach herleiten und errechnen :

Zeile 1 ist 1 zeichen, Zeile 2 sind 3, Zeile 3 sind 5

1+2 x i, für i (0....4) für den Wert 5

Das wäre deine "Formel" (ich mach hier ganz bestimmt keine Screenshots von nem summenzeichen).

Also für 5 wäre dass dann 1+ 2x4 = 9 Zeichen breite.

Das ist das erste was du für die innere Schleife brauchst.

Also, position der 5 in dieser Pyramide.

Erste Zeile, also willst du von 9 Zeichen, 8 Leerzeichen, und 1x die 5, und du brauchst die Position

9 (das hast du vorher errechnet) - 1 zeichen das ich 'füllen' möchte, = 8 Leerzeichen. 8/2 = 4, d.h. 4 leerzeichen, 1x 5, 4 leerzeichen.

2. Zeile

9 - 3 (jetzt kommen die 4er) = 6

6/2 = 3, 3x Leerzeichen 3x 4, 3x Leerzeichen

usw

Ich will jetzt nicht weiter gehn, weil sonst kann ich dir gleich den Quellcode schicken, aber ich denk das sollte ein kräftiger schubs in die Richtung sein, ohne das ich dir aufs brot schmier wie du die Logik in nen Algorythmus giest.

kleine Anmerkung, die Leerzeichen rechts deiner Zahlenreihe, die kannst du im String natürlich weglassen, es ging mir eher um das "Stell dir das ding als Rechteck vor, und geh wie mit einem Rechteck damit um, denk nicht an Dreieck oder Pyramide" als Denkansatz

Viel Spass, und sei froh das du kein Taschenrechner schreiben musst :P

Gruß

Sven

Bearbeitet von streffin

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.