Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 4 of 4
  1. #1
    New to the CF scene
    Join Date
    Oct 2006
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Array Help Mostly

    Alright I have created some code that works as far as random number loading. But i am having difficulty trying to create code that will find the location of the smallest number. Here is the prompt I am giving to clear things up and below is the code i created.

    Prompt:Write a JavaScript function called "findSmallest" that takes two parameters: an array of numbers, and the size of the array. The function returns the index of the smallest element (note that I am not asking you to return the smallest value itself... I want the function to tell me where in the array the smallest value is found)

    Notice this is only a piece of what I have to do. There is so much more but this is the one thing troubling me. Can anyone help me? if it is easier to email me. than email me at mattkaczco2006@gmail.com. Thank you







    <html>
    <head>
    <title>random</title>
    <script type="text/javascript">
    <!--

    function exam1 ( ) {

    var max = 25;
    var arr = new Array(max);

    var sLoc = -1; // just an initial value

    getData(arr); // assume this function loads the array with
    // integers randomly selected from the
    // range 0 to 99 inclusive

    document.writeln("<h2>Random original data</h2>");
    for (i=0; i<max; i++) {
    document.write(" "+arr[i]);
    }

    // sLoc = findSmallest(arr,max);

    // you stomp the -1 init value with the real location
    alert("smallest value is here: "+sLoc);


    }


    function getData (arr) {
    var i;
    for (i=0; i<arr.length; i++) {
    arr[i] = Math.floor(100*Math.random());
    }

    }

    // write your function findSmallest to go here

    -->
    </script>
    </head>

    <body>
    <form name="f" action="">

    <input name="b3" type="button" value="go do it"
    onclick="exam1()" >

    </form>
    </body>

    </html>

  • #2
    Senior Coder
    Join Date
    Sep 2005
    Posts
    1,791
    Thanks
    5
    Thanked 36 Times in 35 Posts
    basically, as the order of the numbers is random, you're going to need to loop through them all to find the smallest.
    In each iteration of the loop you'll be considering the 'current' array value and deciding if it is the 'current-smallest'
    If you compare the current value to the current-smallest value, then if the former is smaller than the latter, then 'current-smallest' takes on the new value. THen move onto the next. When you've finished looping, 'current-smallest' will contain the smallest number.
    As you want the index, as well as keeping track of 'current-smallest' as you're iterating, you'll want to keep track of 'current-smallest-index' as well, so you can return this.

    Hope that helps

  • #3
    New to the CF scene
    Join Date
    Oct 2006
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Can you give me an example of the line of code.. Im actually really confused by this. I know that you have to run a loop to find the smallest value by taking one of the values in the random selection and comparing it.. How do you call a value from the random number count and compare it to another number from it?

  • #4
    New to the CF scene
    Join Date
    Oct 2006
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts
    alright. Just formed this code. Is there something i should do different with this. or can you see if this is what you were talkin about?

    function findSmallest(arr,max){

    var secondArray = new Array(max) // declaration of new Array

    secondArray = arr // making secondArray equal the normal array

    var where // variable representing where the minimum value is stored

    var minimumInArray = secondArray[0]; //variable used to find minimum value in array

    for (k=0; k<secondArray.length; k++) {
    if (secondArray[k]<minimumInArray) {
    minimumInArray = secondArray[k];
    }

    }
    for (i=0; i<max; i++) {
    if (minimumInArray == arr[i]) {
    where = i;
    }
    }
    return where;
    }


  •  

    Posting Permissions

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