program tab1;
var
   i: integer;
   a: array[1..10] of string; {tablica}

begin
   writeln('Podaj dziesięć tekstów w osobnych linijkach:');
   for i := 1 to 10 do
      readln(a[i]); {kolejne wczytywanie elementów tablicy}
   
   writeln;
   writeln('Wracają:');
   for i := 1 to 10 do
      writeln(a[i]); {i ich drukowanie}

   readln;
end.
program tab2;
const
   m = 9;
   n = 11; {Warto deklarować rozmiary tablic w stałych. Wtedy łatwiej zmieniać program.}

var
   i, j: integer;
   mnozne: array[1..m] of integer;
   mnozniki: array[1..n] of integer;
   iloczyny: array[1..m, 1..n] of integer; {tablica dwuwymiarowa}

begin
   writeln('Podaj ', m, ' liczb (mnożne):');
   for i := 1 to m do
      read(mnozne[i]);
   readln; {chroni przed bałaganem}

   writeln('Teraz podaj ', n, ' liczb (mnożniki):');
   for i := 1 to n do
      read(mnozniki[i]);
   readln; {chroni przed bałaganem}

   {obliczanie}
   for i := 1 to m do
      for j := 1 to n do
         iloczyny[i, j] := mnozne[i] * mnozniki[j];

   {drukowanie wyniku}
   for i := 1 to m do
   begin
      for j := 1 to n do
         write(iloczyny[i, j]: 4);
      writeln;
   end;

   readln;
end.