Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Friday Programming Quiz

Friday Programming Quiz

Scheduled Pinned Locked Moved The Lounge
csharpasp-netcomtutorial
24 Posts 15 Posters 3 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    Rama Krishna Vavilala
    wrote on last edited by
    #1

    Given a set of numbers passed to the command line. The number of number is always odd. The program should sort them and output the 5 numbers in the middle. For example, if there are 9 numbers the output should be sorted numbers from indices 2 to 6. e.g.

    c:> med5 67 89 12 1 8 1 3 5 7
    3
    5
    7
    8
    12

    Full marks to a VB.NET 9.0 solution.;)

    Co-Author ASP.NET AJAX in Action

    T M M P E 7 Replies Last reply
    0
    • R Rama Krishna Vavilala

      Given a set of numbers passed to the command line. The number of number is always odd. The program should sort them and output the 5 numbers in the middle. For example, if there are 9 numbers the output should be sorted numbers from indices 2 to 6. e.g.

      c:> med5 67 89 12 1 8 1 3 5 7
      3
      5
      7
      8
      12

      Full marks to a VB.NET 9.0 solution.;)

      Co-Author ASP.NET AJAX in Action

      T Offline
      T Offline
      Tomas Petricek
      wrote on last edited by
      #2

      Rama Krishna Vavilala wrote:

      Full marks to a VB.NET 9.0 solution.

      Now, that's a challenge!! I haven't used VB for at least 5 years, but here we go...

      Sub Main(ByVal args() As String)
      For Each n In (From a In args Select r = Int32.Parse(a) Order By r Skip (args.Length - 5) / 2 Take 5)
      Console.WriteLine(n)
      Next
      End Sub

      Homepage: TomasP.net | Photo of the month: Calendar | C# and LINQ, F#, Phalanger: My Blog
      Latest article: Phalanger, PHP for .NET: Introduction for .NET developers

      M W 2 Replies Last reply
      0
      • T Tomas Petricek

        Rama Krishna Vavilala wrote:

        Full marks to a VB.NET 9.0 solution.

        Now, that's a challenge!! I haven't used VB for at least 5 years, but here we go...

        Sub Main(ByVal args() As String)
        For Each n In (From a In args Select r = Int32.Parse(a) Order By r Skip (args.Length - 5) / 2 Take 5)
        Console.WriteLine(n)
        Next
        End Sub

        Homepage: TomasP.net | Photo of the month: Calendar | C# and LINQ, F#, Phalanger: My Blog
        Latest article: Phalanger, PHP for .NET: Introduction for .NET developers

        M Offline
        M Offline
        Marc Clifton
        wrote on last edited by
        #3

        Tomas Petricek wrote:

        For Each n In (From a In args Select r = Int32.Parse(a) Order By r Skip (args.Length - 5) / 2 Take 5)

        That's both impressive and scary. (And not that it's VB, but what you can do with Linq) Marc

        Thyme In The Country
        Interacx
        My Blog

        T 1 Reply Last reply
        0
        • R Rama Krishna Vavilala

          Given a set of numbers passed to the command line. The number of number is always odd. The program should sort them and output the 5 numbers in the middle. For example, if there are 9 numbers the output should be sorted numbers from indices 2 to 6. e.g.

          c:> med5 67 89 12 1 8 1 3 5 7
          3
          5
          7
          8
          12

          Full marks to a VB.NET 9.0 solution.;)

          Co-Author ASP.NET AJAX in Action

          M Offline
          M Offline
          Miszou
          wrote on last edited by
          #4

          @echo off set /a count=1 :: Load all the numbers :loop echo %1 > _%count%.var set /a count=count+1 shift if "%1" == "" goto :startSort goto loop :startSort set /a total=count-1 :RestartSort set /a count=1 :sortLoop set /a next=%count%+1 call :swap %count% %next% set /a count=count+1 if "%swapped%" == "true" goto :RestartSort if "%count%" == "%total%" goto :output goto :sortLoop :swap set /P var1="" < _%1.var set /P var2="" < _%2.var if /I %var1% LEQ %var2% goto noSwap ren _%1.var _temp.var ren _%2.var _%1.var ren _temp.var _%2.var set swapped=true goto :eof :noSwap set swapped= goto :eof :output set /A offset=((%total%-5)/2)+1 set /A limit=%offset%+4 for /L %%i in (%offset%,1,%limit%) do call :showval %%i :cleanup erase *.var set next= set offset= set total= set count= set var= set var1= set var2= goto :eof


          Sunrise Wallpaper Project | The StartPage Randomizer | A Random Web Page

          G L 2 Replies Last reply
          0
          • M Marc Clifton

            Tomas Petricek wrote:

            For Each n In (From a In args Select r = Int32.Parse(a) Order By r Skip (args.Length - 5) / 2 Take 5)

            That's both impressive and scary. (And not that it's VB, but what you can do with Linq) Marc

            Thyme In The Country
            Interacx
            My Blog

            T Offline
            T Offline
            Tomas Petricek
            wrote on last edited by
            #5

            I think part of the scariness is the VB syntax for queries. VB queries contain almost anything you may ever need (I was quite suprised when I tried it :-)). That's the VB style of doing things - it makes programming easier, but you can easily write really ugly and inefficient code. The C# queries are slightly better (they don't direcly support 'Skip' and 'Take'), but in general the simplicity still hides a lot from what is actually going on. I think that when the same thing is written using the new language features (general purpose features, so no queries!), it doesn't look that scary. It will be a bit longer though (I'm switching back to C#, since I'm not sure how VB does anonymous functions - though I expect that it will be uglier than in C#):

            // It would look roughly like this..
            args.Select(a => Int32.Parse(a).SortBy(a => a).Skip((args.Length - 5) / 2).Take(5)

            Using this syntax it is much easier to see what the code actually does - It's sill not perfect, but it's probably the best that can be done in C#/VB-like language. In functional languages (e.g. in my favorite F# for .NET) solutions like this are more natural (once you learn the language basics), because supporting code like this was the goal of the language design from the beginning.

            Homepage: TomasP.net | Photo of the month: Calendar | C# and LINQ, F#, Phalanger: My Blog
            Latest article: Phalanger, PHP for .NET: Introduction for .NET developers

            1 Reply Last reply
            0
            • M Miszou

              @echo off set /a count=1 :: Load all the numbers :loop echo %1 > _%count%.var set /a count=count+1 shift if "%1" == "" goto :startSort goto loop :startSort set /a total=count-1 :RestartSort set /a count=1 :sortLoop set /a next=%count%+1 call :swap %count% %next% set /a count=count+1 if "%swapped%" == "true" goto :RestartSort if "%count%" == "%total%" goto :output goto :sortLoop :swap set /P var1="" < _%1.var set /P var2="" < _%2.var if /I %var1% LEQ %var2% goto noSwap ren _%1.var _temp.var ren _%2.var _%1.var ren _temp.var _%2.var set swapped=true goto :eof :noSwap set swapped= goto :eof :output set /A offset=((%total%-5)/2)+1 set /A limit=%offset%+4 for /L %%i in (%offset%,1,%limit%) do call :showval %%i :cleanup erase *.var set next= set offset= set total= set count= set var= set var1= set var2= goto :eof


              Sunrise Wallpaper Project | The StartPage Randomizer | A Random Web Page

              G Offline
              G Offline
              Gary R Wheeler
              wrote on last edited by
              #6

              Hot damn, somebody who likes to do perverted things with batch files as much as I do! :cool: :-D


              Software Zen: delete this;

              Fold With Us![^]

              P V 2 Replies Last reply
              0
              • R Rama Krishna Vavilala

                Given a set of numbers passed to the command line. The number of number is always odd. The program should sort them and output the 5 numbers in the middle. For example, if there are 9 numbers the output should be sorted numbers from indices 2 to 6. e.g.

                c:> med5 67 89 12 1 8 1 3 5 7
                3
                5
                7
                8
                12

                Full marks to a VB.NET 9.0 solution.;)

                Co-Author ASP.NET AJAX in Action

                M Offline
                M Offline
                Michael Dunn
                wrote on last edited by
                #7

                print join "\n", @{[sort {$a <=> $b} @ARGV]}[$#ARGV/2-2 .. $#ARGV/2+2];

                --Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Hungarian notation FTW

                1 Reply Last reply
                0
                • M Miszou

                  @echo off set /a count=1 :: Load all the numbers :loop echo %1 > _%count%.var set /a count=count+1 shift if "%1" == "" goto :startSort goto loop :startSort set /a total=count-1 :RestartSort set /a count=1 :sortLoop set /a next=%count%+1 call :swap %count% %next% set /a count=count+1 if "%swapped%" == "true" goto :RestartSort if "%count%" == "%total%" goto :output goto :sortLoop :swap set /P var1="" < _%1.var set /P var2="" < _%2.var if /I %var1% LEQ %var2% goto noSwap ren _%1.var _temp.var ren _%2.var _%1.var ren _temp.var _%2.var set swapped=true goto :eof :noSwap set swapped= goto :eof :output set /A offset=((%total%-5)/2)+1 set /A limit=%offset%+4 for /L %%i in (%offset%,1,%limit%) do call :showval %%i :cleanup erase *.var set next= set offset= set total= set count= set var= set var1= set var2= goto :eof


                  Sunrise Wallpaper Project | The StartPage Randomizer | A Random Web Page

                  L Offline
                  L Offline
                  leppie
                  wrote on last edited by
                  #8

                  And the GWBASIC one? ;P

                  **

                  xacc.ide-0.2.0.77 - now with C# 3.5 support and Navigation Bar!^
                  New xacc.ide release RSS feed^

                  **

                  V 1 Reply Last reply
                  0
                  • G Gary R Wheeler

                    Hot damn, somebody who likes to do perverted things with batch files as much as I do! :cool: :-D


                    Software Zen: delete this;

                    Fold With Us![^]

                    P Offline
                    P Offline
                    PIEBALDconsult
                    wrote on last edited by
                    #9

                    Wearing your black waders I hope.

                    1 Reply Last reply
                    0
                    • R Rama Krishna Vavilala

                      Given a set of numbers passed to the command line. The number of number is always odd. The program should sort them and output the 5 numbers in the middle. For example, if there are 9 numbers the output should be sorted numbers from indices 2 to 6. e.g.

                      c:> med5 67 89 12 1 8 1 3 5 7
                      3
                      5
                      7
                      8
                      12

                      Full marks to a VB.NET 9.0 solution.;)

                      Co-Author ASP.NET AJAX in Action

                      P Offline
                      P Offline
                      PIEBALDconsult
                      wrote on last edited by
                      #10

                      Care to enlighten us as to why you've had to do that?

                      R 1 Reply Last reply
                      0
                      • P PIEBALDconsult

                        Care to enlighten us as to why you've had to do that?

                        R Offline
                        R Offline
                        Rama Krishna Vavilala
                        wrote on last edited by
                        #11

                        After completing a LINQ book (which I was reviewing), I found out that LINQ in VB has more features than in C# (query expression wise). I was thinking about a simple example that can be used to demo LINQ in VB and that was it.

                        Co-Author ASP.NET AJAX in Action

                        P 1 Reply Last reply
                        0
                        • R Rama Krishna Vavilala

                          After completing a LINQ book (which I was reviewing), I found out that LINQ in VB has more features than in C# (query expression wise). I was thinking about a simple example that can be used to demo LINQ in VB and that was it.

                          Co-Author ASP.NET AJAX in Action

                          P Offline
                          P Offline
                          PIEBALDconsult
                          wrote on last edited by
                          #12

                          Yeah, but that's still in beta, right? :-D

                          C 1 Reply Last reply
                          0
                          • P PIEBALDconsult

                            Yeah, but that's still in beta, right? :-D

                            C Offline
                            C Offline
                            Clickok
                            wrote on last edited by
                            #13

                            PIEBALDconsult wrote:

                            Yeah, but that's still in beta, right? :-D

                            VB9 = Visual Beta 9 X|:-D


                            For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:

                            P 1 Reply Last reply
                            0
                            • C Clickok

                              PIEBALDconsult wrote:

                              Yeah, but that's still in beta, right? :-D

                              VB9 = Visual Beta 9 X|:-D


                              For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:

                              P Offline
                              P Offline
                              PIEBALDconsult
                              wrote on last edited by
                              #14

                              Not Vaporware Beta? :-D As VB is just a "prototyping language", it makes sense to use it as a test bed for Linq, before putting the final implementation in C#.

                              B B 2 Replies Last reply
                              0
                              • P PIEBALDconsult

                                Not Vaporware Beta? :-D As VB is just a "prototyping language", it makes sense to use it as a test bed for Linq, before putting the final implementation in C#.

                                B Offline
                                B Offline
                                Brady Kelly
                                wrote on last edited by
                                #15

                                VB is the next MS dynamic language.

                                1 Reply Last reply
                                0
                                • T Tomas Petricek

                                  Rama Krishna Vavilala wrote:

                                  Full marks to a VB.NET 9.0 solution.

                                  Now, that's a challenge!! I haven't used VB for at least 5 years, but here we go...

                                  Sub Main(ByVal args() As String)
                                  For Each n In (From a In args Select r = Int32.Parse(a) Order By r Skip (args.Length - 5) / 2 Take 5)
                                  Console.WriteLine(n)
                                  Next
                                  End Sub

                                  Homepage: TomasP.net | Photo of the month: Calendar | C# and LINQ, F#, Phalanger: My Blog
                                  Latest article: Phalanger, PHP for .NET: Introduction for .NET developers

                                  W Offline
                                  W Offline
                                  WillemM
                                  wrote on last edited by
                                  #16

                                  Linq rules :D

                                  WM. What about weapons of mass-construction? "What? Its an Apple MacBook Pro. They are sexy!" - Paul Watson My blog

                                  1 Reply Last reply
                                  0
                                  • R Rama Krishna Vavilala

                                    Given a set of numbers passed to the command line. The number of number is always odd. The program should sort them and output the 5 numbers in the middle. For example, if there are 9 numbers the output should be sorted numbers from indices 2 to 6. e.g.

                                    c:> med5 67 89 12 1 8 1 3 5 7
                                    3
                                    5
                                    7
                                    8
                                    12

                                    Full marks to a VB.NET 9.0 solution.;)

                                    Co-Author ASP.NET AJAX in Action

                                    E Offline
                                    E Offline
                                    Eytukan
                                    wrote on last edited by
                                    #17
                                    vector<int> vec_num;
                                    for(int i=1;i<argc;i++){
                                     vec_num.push_back(atoi((char*)argv[i]));
                                    }
                                    sort(vec_num.begin(),vec_num.end());
                                    copy(vec_num.begin()+((vec_num.size()-5)/2),
                                    vec_num.end()-((vec_num.size()-5)/2), ostream_iterator<int>(cout, "\n"));
                                    

                                    The Advantage in work-from-home is that... we can blame the dog -Mark Salsbery Best wishes to Rexx[^]

                                    R 1 Reply Last reply
                                    0
                                    • G Gary R Wheeler

                                      Hot damn, somebody who likes to do perverted things with batch files as much as I do! :cool: :-D


                                      Software Zen: delete this;

                                      Fold With Us![^]

                                      V Offline
                                      V Offline
                                      Vasudevan Deepak Kumar
                                      wrote on last edited by
                                      #18

                                      It is really amazing to see a charming quick cut batch file doing that marvellously. :)

                                      Vasudevan Deepak Kumar Personal Homepage Tech Gossips

                                      1 Reply Last reply
                                      0
                                      • L leppie

                                        And the GWBASIC one? ;P

                                        **

                                        xacc.ide-0.2.0.77 - now with C# 3.5 support and Navigation Bar!^
                                        New xacc.ide release RSS feed^

                                        **

                                        V Offline
                                        V Offline
                                        Vasudevan Deepak Kumar
                                        wrote on last edited by
                                        #19

                                        leppie wrote:

                                        GWBASIC

                                        Is it available for download somewhere? I got a copy of QBasic anyway from here: http://www.uv.tietgen.dk/staff/mlha/Download/DOS/microsoft/qbasic.exe[^]

                                        Vasudevan Deepak Kumar Personal Homepage Tech Gossips

                                        1 Reply Last reply
                                        0
                                        • R Rama Krishna Vavilala

                                          Given a set of numbers passed to the command line. The number of number is always odd. The program should sort them and output the 5 numbers in the middle. For example, if there are 9 numbers the output should be sorted numbers from indices 2 to 6. e.g.

                                          c:> med5 67 89 12 1 8 1 3 5 7
                                          3
                                          5
                                          7
                                          8
                                          12

                                          Full marks to a VB.NET 9.0 solution.;)

                                          Co-Author ASP.NET AJAX in Action

                                          S Offline
                                          S Offline
                                          Stuart Dootson
                                          wrote on last edited by
                                          #20

                                          Haskell

                                          module Main where
                                          
                                          import Data.List
                                          import System
                                          
                                          main = do nums <- fmap (map (read :: String -> Integer)) getArgs
                                                    (print.take 5.drop (((length nums)-5) `div` 2).sort) nums
                                          
                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups