Konkurrence – 1 låge!


Det er snart jul folkens og jeg vil lade dig vinde et par ekstra gaver til juletræet.

Jeg afholder, frem til d. 24, en konkurrence hver dag og poster spørgsmålet hver morgen mellem 9 og 10. Vinderne bliver udtrukket dagen efter en ny opgave er blevet postet.

Dagens præmie er enten 2 biograf billetter til Cinemax i København, eller 1 "Introducing LINQ" fra Microsoft Press.

IMG_2367

Dagens opgave er følgende:

Skriv en metode i dit fortrukne sprog som gør følgende:

1. Tager én tekststreng som parameter.
2. Udskriver tekststrengen baglæns.

Vinderen finder vi imorgen! pøj pøj…


Comments (12)

  1. Brian says:

    I Perl (bare for at være lidt på tværs)

    sub metode {

    my $reversed = reverse shift;

    return $reversed;

    }

  2. Thomas Kølle says:

    funktionen findes jo også i c#. Og så lidt wrap, samt brug af den lidt hemmelige string constructor.

    static string Reverse(string input)

    {

       return new string(input.Reverse().ToArray());

    }

  3. Charlie Eriksen says:

    def reverse(input); puts input.reverse; end

    reverse "Ruby er fantastisk" => "ksitsatnaf re ybuR"

    Så vidt jeg kan se, så udskriver ingen af de andre metoder som er blevet forslået her, men retunerer dem som en værdi. Måske det ikke var specificeret helt nok? Om ikke andet, hvis den skal retunere den reversed string, så vil koden se sådan her ud:

    def reverse(input); input.reverse; end

    🙂

  4. dalager says:

    Jeg skulle lige til at smide den samme som thomas, hvilket jo ville være lidt lamt. Så derfor får du lige noget der er mindst ligeså vigtigt…

           [Test]

           public void TestReverse()

           {

               string input = "hej mor";

               string output = "rom jeh";

               Assert.AreEqual(output,Reverse(input));

           }

  5. kimblim says:

    Er ikke sikker på at det tæller som et sprog i dette forum, men her er en javascript-funktion, der gør det:

    function reverseString(str){

    var revstr=”;

      for (i = str.length-1; i>=0; i–)

          revstr+=str.charAt(i)

      return revstr;

    }

  6. Mike says:

    Jeg stoler ikke på det der one-line coding. Det gælder om at gøre sig selv uundværlig ved at gøre din kode så lidt læsbar som muligt.

    private string ReverseString(string input)

    {

       char[] reversedCharArray = new char[input.Length];

       for (int i = (input.Length-1); i >= 0; i–)

       {

           reversedCharArray[(input.Length – 1) – i] = input[i];

       }

       return new string(reversedCharArray);

    }

  7. Bagge says:

    Jeg oplever ofte at når folk skal lave noget i denne stil (i sprog som ikke har en reverse funktion indbygget), så forsøger de alle mulige krumspring for at loope baglens – sjældent med stort held.

    De glemmer ofte at man kan loope forfra, men opbygge den ny streng baglæns.

    Derfor kunne en funktion, blot se ud som sådan:

    function reverse(input)

     for i=1 to len(input)

       output = mid(input,i,1) & output

     next

     response.write output

    end function

    vbscript har dog en ikke særlig kendt funktion til reverse loop indbygget. Så funktionen kunne også se sådan ud:

    function reverse(input)

     for i = len(input) to 1 Step-1

       output = output & mid(input,i,1)

     next

     response.write output

    end function

  8. I PHP kan det gøres med denne funktion:

    <?php

    function reverse($string)

    {

    return implode("", array_reverse(str_split($string)));

    }

    By the way, tak for en super præsentation til Webhoster & Developer roadshow idag.

  9. I Psedukode:

    loop over karakterer i input streng bagfra

    append karakter til output streng

    returnér output streng

  10. F# !

    Selv om min deltagelse i lodtrækningen nok må være noget tvivlsom, når nu jeg også er i DPE 😉

    … men når nu ingen andre har været der med F# …

    let reverse (s:string) = new string(s |> Seq.to_array |> Array.rev)

  11. Jeg skal have k&#229;ret en vinder af g&#229;rsdagens konkurrence p&#229; http://blogs.msdn.com/danielmf/archive/2008/12/01/konkurrence-1-l-ge.aspx

  12. I Ruby

    def reverse(s)

     s.reverse

    end

    reverse("Søren")

    http://tryruby.hobix.com/