109.1.. Učitati dva dvodimenzionalna niza i formirati treći čiji je opšti član: cij = xij * yij za i<j, inače je cij = xij - yij .

Opis programa: Glavna dijagonala - Elementi glavne dijagonale ima iste indekse reda i kolone (i=j), Iznad glavne dijagonale je indeks reda manji od indeksa kolone, a ispod glavne dijagonale je indeks reda veći glavne dijagonale. Elementi a11, a22, ..., ann  čine glavnu dijagonalu.

Slika 1. Glavna dijagonala i=j

Tekstualni algoritam:

Listing programa:

PROGRAM p10912108;
USES
  WinCrt;
VAR
  i,j, n, m : INTEGER;
  X, y, C : ARRAY [1..15,1..15] OF INTEGER;
BEGIN
  WRITE('n m =');    {dimenzije matrice}
  READLN(n,m);
  WRITELN('Matrica X');
  FOR i := 1 TO n DO  {ulaz X[i,j]}
    FOR j := 1 TO m DO
      BEGIN
        WRITE('X[',i,',',j,']=');
        READLN(X[i,j]);
      END;
  WRITELN('Matrica Y');
  FOR i := 1 TO n DO  {ulaz Y[i,j]}
    FOR j := 1 TO m DO
      BEGIN
        WRITE('Y[',i,',',j,']=');
        READLN(Y[i,j]);
      END;
  FOR i := 1 TO n DO  {formiranje niza}
    FOR j := 1 TO m DO 
   IF i<j THEN 
      C[i,j] := X[i,j] * Y[i,j] 
    ELSE 
      C[i,j] := X[i,j] - Y[i,j];
  WRITELN('Izlaz matrica X');
  FOR i := 1 TO n DO  {izlaz}
    BEGIN
      FOR j := 1 TO m DO
        WRITE(X[i,j]:4);
      WRITELN;
    END;
  WRITELN('Izlaz matrica Y');
  FOR i := 1 TO n DO  {izlaz}
    BEGIN
      FOR j := 1 TO m DO
        WRITE(Y[i,j]:4);
      WRITELN;
    END;
  WRITELN('Izlaz matrica C');
  FOR i := 1 TO n DO  {izlaz}
    BEGIN
      FOR j := 1 TO m DO
        WRITE(C[i,j]:4);
      WRITELN;
    END;
END.

Izvođenje programa:

Index