Witam. Mam swój program opisany wyżej w temacie. Kod poniżej:
program tablica2D;
type tab=array [1..10 , 1..10] of double;
procedure tczytaj (var ta:tab; iw,ik :integer);
var i,j :integer;
begin;
for i:=1 to iw do
for j:=1 to ik do
begin;
write('ta[',i,',',j,']= ');
readln (ta[i,j]);
end;
end;
procedure aczytaj (var ta:tab; iw,ik :integer);
var i,j :integer;
begin;
for i:=1 to iw do
begin;
for j:=1 to ik do
write (ta[i,j]:10:3);
writeln;
end;
end;
var iw,ik :integer;
ta:tab;
procedure gaus (var ta:tab; iw,ik :integer);
var i,j,r :integer;
begin
for r:=1 to ik-1 do
for i:=r+1 to iw do
for j:=r+1 to ik do
ta[i,j]:=ta[i,j]-(ta[i,r]*ta[r,j])/ta[r,r];
end;
procedure czytaj(zapis:string; var b:tab);
var i,j,lw,lk:integer; f:text;
begin
assign(f,zapis);
{$i-} reset(f); {$i+}
if IoResult<>0 then writeln(zapis,'Pliku nie ma w lokalizacji') else
begin
readln(f,lw,lk);
for i:=1 to lw do for j:=1 to lk do
begin read(f,b[i,j]);
writeln(i,' ',j,' ',b[i,j]);
end; readln(f);
close(f);
end;
end;
procedure zap(zapis:string; var b:tab);
var i,j,lw,lk:integer; var f:text;
begin
assign(f,'zapis.txt');
{$i-} reset(f);{$i+}
if IoResult=0 then writeln(zapis,'plik juz istnieje') else
begin
rewrite(f);
writeln(f,lw,lk);
for i:=1 to lw do
for j:=1 to lk do
write(f,b[i,j],' ');
writeln(f);
close(f);
end;
end;
var zapis:string; b:tab;
begin
{ writeln ('tablica dwa wymiary');
writeln ('Podaj wiersze');
readln(iw);
writeln ('Podaj kolumny');
readln(ik);}
czytaj(zapis,b);
( tczytaj(ta,iw,ik); }
gaus(ta,iw,ik);
{ aczytaj(ta,iw,ik); }
zap(zapis,b);
write ('koniec');
readln;
end.
Załącznik stanowi plik z którego chcę, by program przeczytał dane i po zastosowaniu metody Gaussa zapisał go.
Proszę Was o nakierunkowanie gdzie znajduje się błąd. Podejrzewam, że cos jest nie tak z odczytem i zapisem, ale z roztargnienia nie potrafię rozwiązać problemu. Muszę na godzinę sobie odpuścić.
Pozdrawiam.