https://www.iprogrammatori.it/forum-programmazione/cplusplus/come-calcolare-lunghezza-una-stringa-senza-usare-strlen-t42275.html
Il mio professore ci ha dato il compito di un programma che possa leggere una stringa e dire se questa è palindroma o no.
qui viene il problema, io fin ora ho sempre usato strlen() per leggere la lunghezza di una stringa, ma il prof ci impediti di usarlo e leggere la stringa in un altro modo
Per parole e piccole frasi senza punteggiatura, in (puro) Gambas si potrebbe risolvere così:
Public Sub Main()
Dim s As String = "Eran i mesi di seminare"
' Dim s As String = "Questo non è un palindromo"
' Dim s As String = "EREGGERE"
' Dim s As String = "INGEGNI"
Dim s1 As String
Dim ss1, ss2 As String[]
s1 = Lower(s)
ss1 = RitornaCaratteri(s1)
If IsNull(ss1) Then Return
ss2 = ss1.Copy()
ss2.Reverse()
For i As Integer = 0 To ss1.Max
If ss1[i] <> ss2[i] Then
Print Quote(s); " non è un palindromo"
Return
Endif
Next
Print Quote(s); " è un palindromo"
End
Private Function RitornaCaratteri(s As String) As String[]
Dim c As String
Dim i As Integer
Dim ss As New String[]
If s Then
Do
Inc i
c = Mid(s, i, 1)
If c = " " Then Continue
If IsNull(c) Then Break
ss.Push(c)
Loop
Return ss
Endif
End
O anche...