bash array problem

hi friends.,
i have two files yy.dat and mm.dat containing 110 elements in each
if i read them into variables it is just showing only 4 elements instead of 110 elements

My script is like this
##################################
/bin/bash

declare -a yy=(`cat yy.dat`)
echo "No of values in yy array: ${#yy}"
yynum=${#yy}

declare -a MM=(`cat mm.dat`)
echo "No of values in MM array: ${#MM}"

for ((i=0;i<$yynum;i++)); do
date2jd ${MM[${i}]} ${yy[${i}]} >> ans.dat
echo >> ans.dat
done

echo "results written in ans.dat"
######################################

if i run this in command line

[yagnesh@aces00 sst]$ ./d2jd.sh
No of values in yy array: 4
No of values in MM array: 4
results written in ans.dat

in yy and MM arrays only four values are loaded..

any clues where i did wrong........

thanks in advance

what is $yynum??
try running script sh -x ./d2jdsh
you will find some clue..