Listing 1

<cfset goldA = ArrayNew(2) />

<cfset gold[1][1] = "" />
<cfset goldA[1][2] = "Jan" />
<cfset goldA[1][3] = "Feb" />
<cfset goldA[1][4] = "Mar" />
<cfset goldA[1][5] = "Apr" />
<cfset goldA[1][6] = "May" />
<cfset goldA[1][7] = "Jun" />
<cfset goldA[1][8] = "Jul" />
<cfset goldA[1][9] = "Aug" />
<cfset goldA[1][10] = "Sep" />
<cfset goldA[1][11] = "Oct" />
<cfset goldA[1][12] = "Nov" />
<cfset goldA[1][13] = "Dec" />

<cfset goldA[2][1] = "1994" />
<cfset goldA[2][2] = "386.88" />
<cfset goldA[2][3] = "381.91" />
<cfset goldA[2][4] = "384.13" />
<cfset goldA[2][5] = "377.27" />
<cfset goldA[2][6] = "381.26" />
<cfset goldA[2][7] = "385.65" />
<cfset goldA[2][8] = "385.49" />
<cfset goldA[2][9] = "380.35" />
<cfset goldA[2][10] = "391.58" />
<cfset goldA[2][11] = "389.77" />
<cfset goldA[2][12] = "387.39" />
<cfset goldA[2][13] = "379.29" />

Listing 2

<cfset goldB = ArrayNew(1) />

<cfset tmp = ArrayNew(1) />
<cfset tmp[1] = "" />
<cfset tmp[2] = "Jan" />
<cfset tmp[3] = "Feb" />
<cfset tmp[4] = "Mar" />
<cfset tmp[5] = "Apr" />
<cfset tmp[6] = "May" />
<cfset tmp[7] = "Jun" />
<cfset tmp[8] = "Jul" />
<cfset tmp[9] = "Aug" />
<cfset tmp[10] = "Sep" />
<cfset tmp[11] = "Oct" />
<cfset tmp[12] = "Nov" />
<cfset tmp[13] = "Dec" />

<cfset ArrayAppend(goldB, tmp) />

<cfset tmp[1] = "1994" />
<cfset tmp[2] = "386.88" />
<cfset tmp[3] = "381.91" />
<cfset tmp[4] = "384.13" />
<cfset tmp[5] = "377.27" />
<cfset tmp[6] = "381.26" />
<cfset tmp[7] = "385.65" />
<cfset tmp[8] = "385.49" />
<cfset tmp[9] = "380.35" />
<cfset tmp[10] = "391.58" />
<cfset tmp[11] = "389.77" />
<cfset tmp[12] = "387.39" />
<cfset tmp[13] = "379.29" />

<cfset ArrayAppend(goldB, tmp) />

Listing 3

<cfset jan = 0 />
<cfset feb = 0 />
<cfset mar = 0 />
<cfset apr = 0 />
<cfset may = 0 />
<cfset jun = 0 />
<cfset jul = 0 />
<cfset aug = 0 />
<cfset sep = 0 />
<cfset oct = 0 />
<cfset nov = 0 />
<cfset dec = 0 />

<!---add the values for each year into the monthly variables--->
<cfloop from="2" to="#ArrayLen(goldA)#" index="yearNumber">
	<cfloop from="2" to="#ArrayLen(goldA[yearNumber])#" index="monthNumber">
		<cfset current = Evaluate(goldA[1][monthNumber]) />
		<cfset new = goldA[yearNumber][monthNumber] />
		<cfset setVariable(goldA[1][monthNumber], current + new) />
	</cfloop>
</cfloop>

<cfset largest = "jan">
<cfloop list="feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec" index="aMonth">
	<cfif Evaluate(aMonth) GT Evaluate(largest)>
		<cfset largest = aMonth />
	</cfif>
</cfloop>

<cfoutput>
	The month with the largest average for all three years is: #largest#
</cfoutput>

Listing 4

<cfset highest = goldA[2][1] & ":" & goldA[2][2] />
<cfloop from="2" to="#ArrayLen(goldA)#" index="rowNumber">
	<cfloop from="2" to="#ArrayLen(goldA[rowNumber])#" index="columnNumber">
		<cfif goldA[rowNumber][columnNumber] GT GetToken(highest, 2, ':')>
			<cfset highest = goldA[rowNumber][1] & ":" &
			goldA[rowNumber][columnNumber] />
		</cfif>
	</cfloop>
</cfloop>

<cfoutput>
	The year with the single highest monthly price for gold was #GetToken(highest, 1,
	 ':')#, with a price of #GetToken(highest, 2, ':')#
</cfoutput>

Listing  5

<!--- create a sample array to work with --->
<cfset randomNumbers = ArrayNew(1) />
<cfloop from="1" to="7" index="i">
	<cfset randomNumbers[i] = RandRange(1, 10) />
</cfloop>

<!--- no apply the insertion sort on the array --->
<cfloop from="1" to="#ArrayLen(randomNumbers)#" index="x">
	<cfset indexOfMin = x />
	<cfset y = x />
	<cfloop condition="y LTE ArrayLen(randomNumbers)">
		<cfif randomNumbers[indexOfMin] LT randomNumbers[y]>
			<cfset indexOfMin = y />
		</cfif>
		<cfset y = y + 1 />
	</cfloop>
	<cfset temp = randomNumbers[x] />
	<cfset randomNumbers[x] = randomNumbers[indexOfMin] />
	<cfset randomNumbers[indexOfMin] = temp />
</cfloop>

<cfdump var="#randomNumbers#" label="Voila: sorted" />