Avatar billede tlfriis Nybegynder
19. december 2002 - 11:04 Der er 1 kommentar og
1 løsning

Cellulære Automater i SML

Hej vi er ved at lave en cellulær automat i SML, men vi sidder fast, og håber derfor på hjælp... hurtigt. VI får en streng ind som hedder parrent og består af "0" og ".", vi skal tage tre punkter af gangen, og det går fint med string.substring, men hvordan får man den til at gå videre til det næste tegn, og næste... den skal gå et hak fem af gangen. hvis i har et link til en cellulær automat lavet i SML vil denne også kunne bruges, men helst et svar på vores konkrete problem.
Avatar billede jakoba Nybegynder
27. december 2002 - 09:14 #1
lav en funktion der kalder sig selv med den gamle streng og returnerer den nyeog den nye.
funktionen skal være rekursiv, noget i retning af: (jeg kender ikke SML ret godt, så det er pseudokode) :

  næstelinie = generation( " " ^ forrigelinie )

fun generation ( indstreng ) =
  if ( der er 2 bogstaver i strengen )
  then
      findbarn( indstreng ^ " " )
  else
      findbarn( indstreng.substring(0..2) ) ^ generation( indstreng.substring(1..sidste)

funktionen findbarn er den i allerede har der tager 3 bogstaver og finder næste generations bogstav under det midterste.

Jeg har indsat blanktegn (" ") som rangbetingelse i begge ender

mvh JakobA
Avatar billede tlfriis Nybegynder
27. december 2002 - 19:01 #2
ok, vi har fået lavet programmet, men du får pointene, nu når du var så flink at komme med et forslag :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester