>>16
for(source=1;source<mb;source++){
多分ここでしょ。でもmbをpに直しても間違いのような・・・
突っ込みどころたくさんあるんだけど、もうちょい勉強してみて。