Ajout des 2 parties qui marchent

This commit is contained in:
rick 2021-03-18 19:19:26 +01:00
parent 30271d0a70
commit 2baf4d1fde
Signed by: Rick
GPG key ID: 2B593F087240EE99
2 changed files with 44 additions and 50 deletions

View file

@ -1,50 +0,0 @@
basInput$ = "1113222113"
pred$ = ""
act$ = ""
new$ = ""
nb = 0
maxx=peek("screenwidth")-1:maxy=peek("screenheight")-1
clear screen
for i = 0 to 40
print i, " / 40"
for j = 1 to len(basInput$) step nb
print at(0,i) i," / 40 mots | ",j," / ",len(basInput$)," lettres"
act$ = mid$(basInput$, j, 1)
if (act$ = mid$(basInput$, j + 1, 1)) then
if (act$ = mid$(basInput$, j + 2, 1)) then
nb = 3
else
nb = 2
endif
else
nb = 1
endif
new$ = new$ + str$(nb) + act$
next j
basInput$ = new$
next i
rem ancien code
rem print new$
rem for i = 0 to 40
rem print i, " / 40"
rem for j = 1 to len(basInput$) step k
rem k = 1
rem act$ = mid$(basInput$, j, 1)
rem pred$ = act$
rem while pred$ = act$ and (j + k) < len(basInput$)
rem pred$ = act$
rem act$ = mid$(basInput$, j + k, 1)
rem k = k + 1
rem if act$ <> pred$ then
rem k = k - 1
rem endif
rem wend
rem new$ = new$ + str$(k) + pred$
rem next j
rem basInput$ = new$
rem next i
print "La longeur de la chaine finale est ", len(basInput$)

44
jour10/jour10.vbs Normal file
View file

@ -0,0 +1,44 @@
Module mainModule
Sub Main()
Const NbIt As Integer = 50
' NbOcc à modifier, contient le nombre ditération à faire'
' MyInput contient la chaine dentrée
' Builder construit la chaine suivante
' occ est le nombre doccurence dun nombre
' i et j sont des itérateurs pour le nombre de fois à faire
' le programme et le parcours de la chaine
' actChar est le caractère courant
Dim MyInput As String = "1113222113"
Dim Builder As New System.Text.StringBuilder
Dim occ As Integer
Dim i As Integer
Dim j As Integer = 0
Dim actChar as Char
Do While i < NbIt
Builder.Clear()
Console.WriteLine("Etape numero : {0}", i)
j = 1
Do
occ = 1
actChar = GetChar(MyInput, j)
Try
If GetChar(MyInput, j + 1) = actChar Then
If GetChar(MyInput, j + 2) = actChar Then
occ = 3
Else
occ = 2
End if
End If
Catch
End Try
Builder.Append(occ & actChar)
j += occ
Loop Until j > Len(MyInput)
i += 1
MyInput = Builder.ToString()
Loop
Console.WriteLine("Le resultat est {0}", Len(MyInput))
End Sub
End Module