CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 3 of 3

Threaded View

  1. #1
    Join Date
    Feb 2006
    Posts
    8

    [RESOLVED] Help with simple Array program

    I got this from a book.:
    Forty students were asked to rate the quality of the food in the student cafeteria on a scale of 1 to 10 (1 means awful and 10 means excellent). Place the 40 responses in an Integer array and summarize the results of the poll.

    The form has a command button named cmdPrint. Here is the code:
    Code:
    Option Explicit
    Option Base 1
    Dim mResponses(40) As Integer
    
    Private Sub Form_Load()
     Dim x As Integer
     
     For x = LBound(mResponses) To UBound(mResponses)
      mResponses(x) = 1 + Int(Rnd * 10)
     Next x
    End Sub
    
    Private Sub cmdPrint_Click()
     Dim frequency(10) As Integer '10 elements
     Dim x As Integer
     
     Call Cls
     Call Randomize
     
     'Calculate results
     For x = LBound(mResponses) To UBound(mResponses)
      frequency(mResponses(x)) = frequency(mResponses(x)) + 1
     Next x
     Print "Rating" & Space(3) & "Frequency"
     For x = LBound(frequency) To UBound(frequency)
      Print Space(3) & x & vbTab & vbTab & frequency(x)
     Next x
     cmdPrint.Enabled = False
    End Sub
    I don't understand the logic of this line:
    frequency(mResponses(x)) = frequency(mResponses(x)) + 1
    I've read the book's explanation over and over but I still don't get it.
    Here is what the book says: "This statement increments the appropriate frequency counter depending on the value of mResponses(x). For example, when the counter x is 1, mResponses(x) is 1, so frequency(mResponses(x) is actually interpreted as frequency(1) = frequency(1) + 1 which increments array index one...." I don't understand it! How does this statement calculate the frequency of a response??

    Many thanks guys!!!
    Last edited by sbstn26; April 26th, 2007 at 09:52 AM. Reason: to make it more readable

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured