Hi all I am very new to programming and am having a little difficulty starting an assignment.

I need to make a program that takes a telephone number and shows all the different words that could be made for that number. The telephone number cannot have a 1 or a 0 in it.

I was thinking that I could use an array to hold the numbers, I've started that but I am not sure how the array will know which number goes with what? Also, I am not sure how to call the array if I am even going in the right direction.. Please let me know what you think of the little bit of code I have started.

Thanks in advance for the help.

Public Class Form1

    Dim PhoneNumber As String
    Dim Numbers String(,) = New String(7,3) {}

    Numbers(0,0) = A '2
    Numbers(0,1) = B '2
    Numbers(0,2) = C '2
    Numbers(1,0) = D '3
    Numbers(1,1) = E '3
    Numbers(1,2) = F '3
    Numbers(2,0) = G '4
    Numbers(2,1) = H '4
    Numbers(2,2) = I '4
    Numbers(3,0) = J '5
    Numbers(3,1) = K '5
    Numbers(3,2) = L '5
    Numbers(4,0) = M '6
    Numbers(4,1) = N '6
    Numbers(4,2) = O '6
    Numbers(5,0) = P '7
    Numbers(5,1) = R '7
    Numbers(5,2) = S '7
    Numbers(6,0) = T '8
    Numbers(6,1) = U '8
    Numbers(6,2) = V '8
    Numbers(7,0) = W '9
    Numbers(7,1) = X '9
    Numbers(7,2) = Y '9

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If PhoneNumber =  Then

    End Sub
End Class
8 Years
Discussion Span
Last Post by GeekByChoiCe

the following example is not complete. but it gives you an idea how to start. Ofcourse you still have to "mix" the letters to get ALL possible words.

Sub Main()
        Dim phoneNumber As String = GetNumber()

        'check if the number contains 0 or 1
        While phoneNumber.Contains("0") Or phoneNumber.Contains("1")
            phoneNumber = GetNumber()
        End While

        'create a hashtable to hold the digits
        Dim arrayL As New Hashtable
        Dim x As Integer = 1
        For i As Integer = 65 To 90 Step 3
            arrayL.Add(x, New Char() {Chr(i), Chr(i + 1), Chr(i + 2)})
            x += 1

        Dim word As String = ""

        'creates only 3 words out of the phonenumber
        For i As Integer = 0 To 2

            For Each s As String In phoneNumber
                word = word & DirectCast(arrayL.Item(CInt(s)), Char())(i).ToString

            'reset word
            word = ""
    End Sub

    Private Function GetNumber() As String
        Console.WriteLine("please enter a number without 0 or 1")
        Return Console.ReadLine()
    End Function
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.