![]() |
Зацикливание.Не знаю как исправить(
Значит написал программу в консоль апликейшен с "юнитом" в котором и сидит почти вся основная часть.При запуске происходит зацикливание на выводе тоесть он пишет одну и ту же фразу много раз.Как исправить?
Заранее спасибо.Написано все в делфи.Тестировалось на Делфи 7. Код:
program Project2; а вот и юнит: Код:
unit Unit1; interface type matr=array[1..10,1..10] of integer; mas=array[1..100] of integer; function rasm:integer; procedure matrgen(var mt:matr; var r1:integer); procedure matrfil(mt:matr; r1:integer); implementation function rasm:integer; begin randomize; result:=random(5)+5; writeln('matrix dimention= ',rasm); end; procedure matrgen(var mt:matr; var r1:integer); var i1,j1:integer; begin r1:=rasm; randomize; for i1:=1 to r1 do for j1:=1 to r1 do mt[i1,j1]:=random(50)-50; end; procedure matrfil(mt:matr; r1:integer); var t:textfile; fi:file of integer; fm:file of matr; fname,tname,mname:string[150]; i1,j1:integer; begin write('input file name '); readln(fname); tname:='c:\work\'+fname+'.txt'; fname:='c:\work\f'+fname+'.dat'; mname:='c:\work\m'+fname+'.dat'; assign(fm,mname); rewrite(fm); write(fm,mt); close(fm); assign(t,tname); rewrite(t); for i1:=1 to r1 do begin for j1:=1 to r1 do write(t,mt[i1,j1]:4); writeln; end; close(t); assign(fi,fname); rewrite(fi); for i1:=1 to r1 do for j1:=1 to r1 do write(fi,mt[i1,j1]); close(fi); end; end. |
Это ты специально так код отформатировал, чтоб никто не догадался? Хитро - хитро.
Было бы также неплохо чтобы ты сказал какую фразу пишет прога, чтобы примерно определить положение ошибки. Зацикливание происходит в function rasm:integer; из - за writeln убери его и все будет норм. ЗЫ: На дельфе не пишу очень давно так что если что не так не обессудьте. |
Цитата:
Код:
program Project2;Код:
unit Unit2; |
всем спасибо)
|
| Время: 11:50 |