Navigace: Hlavní stránka -> BASIC -> 10 Znaky, texty ->10.10 Součet dvou velkých celých čísel

MENU

10.10 Součet dvou velkých celých čísel

Zadání:
Sestavte program, který sečte dvě celá velká čísla.
Řešení:
Program po zadání dvou celých čísel otestuje pomocí příkazu IF, které z obou čísel je kratší a pomocí cyklu FOR
ho doplní zleva nulami na délku druhého čísla.
Poté program pomocí cyklu FOR prochází obě čísla zprava, převede každý znak na číslo, sečte tato čísla, přičte k nim
přenos, výsledek převede na znak a přidá ho zleva k výsledku. Poté vypočte přenos do vyššího řádu.
Na konci programu se výsledek vytiskne.
Module Module1

    Sub Main()

        Dim c1, c2, v As String
        Dim i As Integer
        Dim z1, z2, prenos, s As Byte

        Console.Write("Zadejte prvni cislo: ")
        c1 = Console.ReadLine
        Console.Write("Zadejte druhe cislo: ")
        c2 = Console.ReadLine

        If Len(c1) > Len(c2) Then
            For i = 1 To Len(c1) - Len(c2)
                c2 = "0" + c2
            Next i
        Else
            For i = 1 To Len(c2) - Len(c1)
                c1 = "0" + c1
            Next i
        End If

        prenos = 0

        v = ""

        For i = Len(c1) - 1 To 0 Step -1
            z1 = Asc(c1(i)) - Asc("0")
            z2 = Asc(c2(i)) - Asc("0")
            s = z1 + z2 + prenos
            v = Chr((s Mod 10) + Asc("0")) + v
            prenos = s \ 10
        Next i

        If prenos = 1 Then
            v = "1" + v
        End If

        Console.WriteLine("Vysledek: {0}", v)

        Console.ReadLine()

    End Sub

End Module
program ke stažení