klein probleempje

Status
Niet open voor verdere reacties.

zettekakkers

Gebruiker
Lid geworden
21 jul 2011
Berichten
134
[CPP]
Public Class frm17
Private Sub btnButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnButton.Click
Dim strTekst As String
Dim strOmgekeerdeTekst As String
Dim intTeller As Integer
Dim intlengte As Integer

strTekst = txtTekst.Text
intlengte = Len(strTekst)
strOmgekeerdeTekst = ""

'intTeller laten aftrekken telkens laaste letter vooraan weer geven'

For intTeller = intlengte To 1 Step -1
strOmgekeerdeTekst &= strTekst.Substring(intTeller - 1, 1)
Next

'Als de ingevoerde tekst zelde is al omgekeerde'

If strTekst = strOmgekeerdeTekst Then
lblAntwoord.Text = strTekst & " is een palindroom"
Else
lblAntwoord.Text = strTekst & " is geen palindroom"
End If
End Sub

Private Sub txtTekst_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTekst.TextChanged
lblAntwoord.Text = String.Empty
End Sub
End Class
[/CPP]

Maar als ik Bvb: kok lepel ingeef dan zegt mijn programma geen palindroom omdat hij lepel kok krijgt als eind resultaat hoe kan ik dit oplossen en toch mijn code nog behouden?
 
Je verwachting is nou niet bepaald logisch.
Een palindroom is een (dus 1) woord dat je zowel van voor naar achter als van achter naar voor kan lezen.
Jij voert nu 2 woorden in.
Dus.....

Dus, of 1 woord invoeren.
Of je code aanpassen.

Tardis
 
ja weet ik maar al er dan een lastig iemand 2woorden invoerd? :/
ik zal gewoon zo laten :p thx voor het mee denken
 
PHP:
    Sub Main()
        Dim b As Boolean = Match("lepel kok", Reverse("lepel kok"))
    End Sub

    Function Match(ByVal OrigTekst As String, ByVal NewTekst As String) As Boolean
        Dim a1 As String() = OrigTekst.Split(" ")
        Dim a2 As String() = NewTekst.Split(" ")
        Return IIf(a1(0) = a2(1) AndAlso a1(1) = a2(0), True, False)
    End Function

    Function Reverse(ByVal Woord As String) As String
        Dim tmp As New List(Of Char)(Woord.ToCharArray())
        tmp.Reverse()
        Return New String(tmp.ToArray())
    End Function

Geeft hier een mooie true boolean terug ;)
Enige probleem zal zijn wanneer je meer dan 2 woorden erin stopt. Dan zal je een wat uitgebreider systeem moeten gaan bouwen.

Succes.
 
Een palindroom kan dus wel degelijk meer dan 1 woord bevatten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan