what wrong with my program below...<br /><!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--><br />set size 5;<br /><br />proc mkmatrix {rows cols} {<br />Â Â Â Â set count 1;<br />Â Â Â Â set mx
- <br />Â Â Â Â Â Â for { set i 0 } { $i < $rows } { incr i } {<br />Â Â Â Â set row
- <br />Â Â Â Â for { set j 0 } { $j < $cols } { incr j } {<br />Â Â Â Â Â Â lappend row $count;<br />Â Â Â Â Â Â incr count;<br />Â Â Â Â Â Â }<br />Â Â Â Â Â Â Â Â lappend mx $row;<br />Â Â Â Â }<br />Â Â Â Â Â Â return $mx;<br />}<br /><br />Â Â Â Â proc mmult {m1 m2} {<br />Â Â Â Â Â Â Â Â set cols [lindex $m2 0]<br />Â Â Â Â Â Â Â Â Â Â foreach row1 $m1 {<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â set row
- <br />Â Â Â Â Â Â Â Â Â Â Â Â set i 0<br />Â Â Â Â Â Â Â Â Â Â Â Â foreach - $cols {<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â set elem 0<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â foreach elem1 $row1 row2 $m2 {<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â set elem [expr {$elem + $elem1 * [lindex $row2 $i]}]<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â lappend row $elem<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â incr i<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â }<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â lappend result $row<br />Â Â Â Â Â Â }<br />Â Â Â Â Â Â return $result<br />}<br /><br />proc main {} {<br />Â Â Â Â Â Â global argv size<br />Â Â Â Â Â Â set num [lindex $argv 0]<br />Â Â Â Â Â Â if {$num < 1} {<br />Â Â Â Â Â Â set num 1<br />Â Â Â Â Â Â }<br /><br />Â Â Â Â Â Â set m1 [mkmatrix $size $size]<br />Â Â Â Â Â Â set m2 [mkmatrix $size $size]<br />Â Â Â Â Â Â while {$num > 0} {<br />Â Â Â Â Â Â Â Â Â Â incr num -1<br />Â Â Â Â Â Â Â Â Â Â set m [mmult $m1 $m2]<br />Â Â Â Â Â Â }<br /><br />Â Â Â Â Â Â puts "[lindex [lindex $m 0] 0] [lindex [lindex $m 2] 3] [lindex [lindex $m 3] 2] [lindex [lindex $m 4] 4]"<br />}<br /><br />main<!--c2--></div><!--ec2--><br /><br />[Admin Edit: Added
Code:
tags] </div>
- <br />Â Â Â Â Â Â Â Â Â Â Â Â set i 0<br />Â Â Â Â Â Â Â Â Â Â Â Â foreach - $cols {<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â set elem 0<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â foreach elem1 $row1 row2 $m2 {<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â set elem [expr {$elem + $elem1 * [lindex $row2 $i]}]<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â lappend row $elem<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â incr i<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â }<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â lappend result $row<br />Â Â Â Â Â Â }<br />Â Â Â Â Â Â return $result<br />}<br /><br />proc main {} {<br />Â Â Â Â Â Â global argv size<br />Â Â Â Â Â Â set num [lindex $argv 0]<br />Â Â Â Â Â Â if {$num < 1} {<br />Â Â Â Â Â Â set num 1<br />Â Â Â Â Â Â }<br /><br />Â Â Â Â Â Â set m1 [mkmatrix $size $size]<br />Â Â Â Â Â Â set m2 [mkmatrix $size $size]<br />Â Â Â Â Â Â while {$num > 0} {<br />Â Â Â Â Â Â Â Â Â Â incr num -1<br />Â Â Â Â Â Â Â Â Â Â set m [mmult $m1 $m2]<br />Â Â Â Â Â Â }<br /><br />Â Â Â Â Â Â puts "[lindex [lindex $m 0] 0] [lindex [lindex $m 2] 3] [lindex [lindex $m 3] 2] [lindex [lindex $m 4] 4]"<br />}<br /><br />main<!--c2--></div><!--ec2--><br /><br />[Admin Edit: Added
- <br />Â Â Â Â for { set j 0 } { $j < $cols } { incr j } {<br />Â Â Â Â Â Â lappend row $count;<br />Â Â Â Â Â Â incr count;<br />Â Â Â Â Â Â }<br />Â Â Â Â Â Â Â Â lappend mx $row;<br />Â Â Â Â }<br />Â Â Â Â Â Â return $mx;<br />}<br /><br />Â Â Â Â proc mmult {m1 m2} {<br />Â Â Â Â Â Â Â Â set cols [lindex $m2 0]<br />Â Â Â Â Â Â Â Â Â Â foreach row1 $m1 {<br />Â Â Â Â Â Â Â Â Â Â Â Â Â Â set row