Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Find the sum of 12 DIFFERENT random numbers

Posted on 2007-11-18
10
Medium Priority
?
245 Views
Last Modified: 2010-04-30
Experts,

I need to assign a parameter 'b' as the sum of 12 different randomly generated numbers between 0 and 1. How do i do that - should i use a loop?
I need the code to do this automatically and assign the result to a variable 'b' as a value for use in other calcs.

Thanks everyone

Simon
0
Comment
Question by:simondopickup
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +3
10 Comments
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 20309115
Is this a homework?
some initial code to start helping you with?

0
 
LVL 25

Expert Comment

by:imitchie
ID: 20309138
I see you included this in Excel, are you after an Excel formula?
0
 
LVL 7

Expert Comment

by:tcicatelli
ID: 20309175
If you're in excel, place the formula =rand() into cells A1 through A12.  Then place the formula =sum(a1:a12) into cell a13.  This will work, but you will get a different answer everytime the spreadsheet recalculates.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 25

Accepted Solution

by:
imitchie earned 2000 total points
ID: 20309192
if you're after Excel VBA, then here's something to get you started
it contains a template for a loop (to 5) and in each iteration, calls Rnd() once
the cells(2,i) shows you how it generates a different random value each time
instead of b = Rnd(), you can use b = b + Rnd() to add to b each time
Dim b As Double
b = 0
For i = 1 To 5
    b = Rnd()
    Cells(2, i) = b
Next

Open in new window

0
 

Author Comment

by:simondopickup
ID: 20309307
i need to code this in vb. I dont want to write in cells  - i would rather populate an array and sum the elements..

currently by code is this which is so wrong!

b=rnd+rnd+rnd+rnd+rnd+rnd+rnd+rnd+rnd+rnd+rnd+rnd
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 20309467
Just like imitchie said...
Option Explicit
 
Private Sub Form_Load()
    Randomize
End Sub
 
Private Sub Command1_Click()
    Dim b As Double
    Dim value As Double
    Dim i As Integer
    
    For i = 1 To 12
        value = Rnd
        Debug.Print i, value
        b = b + value
    Next i
    Debug.Print "b = " & b
End Sub

Open in new window

0
 
LVL 76

Expert Comment

by:GrahamSkan
ID: 20309494
Try it like this:

Sub Totalrnd()
    Dim r(11) As Double
    Dim i As Integer
    Dim j As Integer
    Dim d As Double
    Dim bFound As Boolean
    Dim b As Double
    Dim strMessage As String
    i = -1
    Randomize
    Do While i < 11
        d = Rnd()
        bFound = False
        For j = 0 To i
            If d = r(i) Then
                bFound = True
                Exit For
            End If
        Next j
        If Not bFound Then
            i = i + 1
            r(i) = d
            strMessage = strMessage & IIf(i > 0, " + ", "") & d
            b = b + d
        End If
    Loop
    strMessage = b & " = " & strMessage
    MsgBox strMessage
End Sub

0
 
LVL 76

Expert Comment

by:GrahamSkan
ID: 20309516
I did check that each contributory element is different as you asked, but I bet, you couldn't produce two identical random numbers in such a sequence in a thousand years.
0
 
LVL 25

Expert Comment

by:imitchie
ID: 20309578
i thought i'd leave something for your imagination but...
' old: b=rnd+rnd+rnd+rnd+rnd+rnd+rnd+rnd+rnd+rnd+rnd+rnd
' new: below, equivalent. drop the 4 lines where the 1 line above was
b = 0;
for i = 1 to 12
  b = b + rnd()
next i

Open in new window

0
 

Author Closing Comment

by:simondopickup
ID: 31409832
Thanks!
0

Featured Post

What’s Wrong with Your Cloud Strategy ?

Even as many CIOs are embracing a cloud-first strategy, the reality is that moving to the cloud is a lengthy process and the end-state is likely to be a blend of multiple clouds—public and private. Learn why multicloud solutions matter in this webinar by Nimble Storage.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…
This Micro Tutorial demonstrates how to create Excel charts: column, area, line, bar, and scatter charts. Formatting tips are provided as well.

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question