Показать сообщение отдельно

Зацикливание.Не знаю как исправить(
  #1  
Старый 21.02.2007, 21:42
mari00
Участник форума
Регистрация: 27.10.2006
Сообщений: 115
С нами: 10282757

Репутация: 119
По умолчанию Зацикливание.Не знаю как исправить(

Значит написал программу в консоль апликейшен с "юнитом" в котором и сидит почти вся основная часть.При запуске происходит зацикливание на выводе тоесть он пишет одну и ту же фразу много раз.Как исправить?
Заранее спасибо.Написано все в делфи.Тестировалось на Делфи 7.
Код:
program Project2;    
{$APPTYPE CONSOLE}    uses    SysUtils,   
 Unit1 in 'Unit1.pas';  
   var    m:matr;    a:mas;    
i,j,r,k:integer;    
begin      matrgen(m,r);      
writeln('generated matrix');      
 for i:=1 to r do        
                   begin             for j:=1 to r do                                       write(m[i,j]:4);                 writeln;         end;       matrfil(m,r);        readln;  end.

а вот и юнит:
Код:
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.
Ток вы просто скоприруйте и запустите в делфи.

Последний раз редактировалось mari00; 21.02.2007 в 21:44..
 
Ответить с цитированием