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``````
2
Contributors
1
2
Views
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
Next

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
Next

Console.WriteLine(word)
'reset word
word = ""
Next