esto entiendo en tu codigo
por cada i hasta 365
por cada k en el rango
por cada j
numdia en la posicion i es igual a k +1
así que
numdia(5) = 1826
numdia(6) = 1826
... ergo hasta el final...
observa con detalle... i te apunta a la posicion de el array... k genera un numero... j repite 7 veces la operación por cada k asignando el mismo valor de k+1 en el mismo i
creo que es mejor que hagas 2 for...
k = 1773
para i desde 5 hasta 365, step 7 (para ir de 7 en 7)
k = k+1
para j desde 0 a 6
numdia(i+j) es igual k
i te mueve semana a semana... j te mueve entre los días de la semana... como el numero (1773) solo cambia una vez por semana k se suma 1 en el ciclo exterior y j rellena el interior con este valor...
(sorry por lo de las etiquetas
lo daba por pseudo-psuedo-codigo ya que era solo una explicación XD pero lo tendré en cuenta)