Microsoft KB Archive/106700

{| = Function to Compute Average of the Elements in an Array =
 * width="100%"|

ID: Q106700

The information in this article applies to:


 * Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b
 * Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

SUMMARY
The user-defined function (UDF) shown below uses a DO WHILE loop to sum the elements of the passed array and then divides the total by the number of elements in the array to obtain the average.

MORE INFORMATION
CLEAR SET CURSOR OFF SET TALK OFF DECLARE TheArray[10] TheArray[1] = 1 TheArray[2] = 2 TheArray[3] = 3 TheArray[4] = 4 TheArray[5] = 5 TheArray[6] = 6 TheArray[7] = 7 TheArray[8] = 8 TheArray[9] = 9 TheArray[10] = 10 TheAvg =Aavg(@TheArray,10) WAIT WINDOW "The average of the array is " + ALLTRIM(STR(TheAvg,8,2)) RETURN

* Function.....: AAVG * Notes........: This function computes the average of the elements *               in an array. * Parameters:   Aname     - The name of an array containing *                           numeric elements to average. *               Aelements - The numeric of elements to average. FUNCTION AAVG PARAMETERS Aname, Aelements STORE 0 TO Atotal, Avg STORE 1 TO Acount DO WHILE Acount <= Aelements Atotal    =  Atotal + Aname[Acount] Acount =  Acount + 1 ENDDO RETURN(Atotal/Aelements) Additional reference words: FoxDos FoxWin 2.00 2.50 2.50a 2.50b KBCategory: kbprg kbcode KBSubcategory: FxprgGeneral
 * To return the sum of all the elements in the array, use RETURN(Atotal).
 * }