Błąd podczas dodawania macierzy - co robię źle?

0

Bardzo proszę o radę: poniższy program ma dodawać macierze (oczywiście sensowne tylko dla macierzy o tych samych wymiarach), program po zapytaniu o macierze i ich wyswietleniu zamiast je dodać wyświetla: exited with ecitcode 201, czy ktoś podpowie o co chodzi i co zmienić?

program dynamiczne;

uses CRT;

var
 A, B, C : array of array of Integer;
  m, n, i, j : Integer;

 begin

 begin

  ClrScr();

  WriteLn('Ile wierszy ma miec A?');
  ReadLn(m);
  WriteLn('Ile kolumn ma miec A');
  Readln(n);

  SetLength(A, m, n);
  Writeln('oto tablica');

  for i:=0 to m-1 do
  begin
   for j:=0 to n-1 do
   begin
    Write('podaj element macierzy A [',i,',',j,']: ');
    Readln(A[i, j]);
    end;
end;
     for i:=0 to m-1 do
  begin
   for j:=0 to n-1 do
   begin
     write(A[i, j]:10,'  ');
     end;
    Writeln();
    end;
    end;



    begin



  WriteLn('Ile wierszy ma miec B?');
  ReadLn(m);
  WriteLn('Ile kolumn ma miec B');
  Readln(n);

  SetLength(B, m, n);
  Writeln('oto tablica');

  for i:=0 to m-1 do
  begin
   for j:=0 to n-1 do
   begin
    Write('podaj element macierzy B [',i,',',j,']: ');
    Readln(B[i, j]);
    end;
end;


     for i:=0 to m-1 do
  begin
   for j:=0 to n-1 do
   begin
     write(B[i, j]:10,'  ');
     end;
    Writeln();
    end;
    end;

 begin
   for i:=0 to m-1 do
    for j:=0 to n-1 do
    C[i, j]:= A[i, j] + B[i, j]
  end;

 Readln();
end.

dodanie znacznika <code class="pascal"> i poprawienie tytułu wątku - furious programming

0

Bądź tak łaskaw i sformatuj kod, bo cięzko się go analizuje... Przy kompilacji kodu, kompilator zgłasza ostrzeżenie o poniższej treści:

[Warning] Project2.dpr(68): Variable 'C' might not have been initialized

Więc używasz niezainicjowanej zmiennej C, a skoro tak jest, to nie możesz do niej wpisać żadnych wartości; Najpierw ustal jej rozmiar za pomocą procedury SetLength, a dopiero później sumuj komórki;

No i naucz się korzystać z debugera - taka umiejętność bardzo się przydaje i każdy chcący programować, powinien się nauczyć jego obsługi.

0
SetLength(C, m, n);

1 użytkowników online, w tym zalogowanych: 0, gości: 1