109.3.. Učitati dvodimenzionalni niz - matricu nxm. Naći i ispisati najmanji elemenat na glavnoj dijagonali (od 1,1 do n,n) matrice.

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 p10917022;
USES
  WinCrt;
VAR
  i,j, n, min : INTEGER;
  X : ARRAY [1..15,1..15] OF INTEGER;
BEGIN
  WRITE('n (kvadratna matrica) =');
  READLN(n);
  WRITELN('Ulaz matrice');
  FOR i := 1 TO n DO  {ulaz}
    FOR j := 1 TO n DO
      BEGIN
        WRITE('X[',i,',',j,']=');
        READLN(X[i,j]);
      END;
  FOR i := 1 TO n DO  {izlaz}
    BEGIN
      WRITELN;
      FOR j := 1 TO n DO
        WRITE(X[i,j]:4);
    END;
  WRITELN;
  min := X[1,1];
  FOR i := 2 TO n DO      {elementi glavne dijagonale}
    IF min > X[i,i] THEN
        min := X[i,i];
  WRITELN('Najmanji element glavne dijagonale matrice =', min);
END.

II Varijanta
PROGRAM p10917022_2;
USES
  WinCrt;
VAR
  i,j, n, min : INTEGER;
  X : ARRAY [1..15,1..15] OF INTEGER;
BEGIN
  WRITE('n (kvadratna matrica) =');
  READLN(n);
  WRITELN('Ulaz matrice');
  FOR i := 1 TO n DO  {ulaz}
    FOR j := 1 TO n DO
      BEGIN
        WRITE('X[',i,',',j,']=');
        READLN(X[i,j]);
      END;
  FOR i := 1 TO n DO  {izlaz}
    BEGIN
      WRITELN;
      FOR j := 1 TO n DO
        WRITE(X[i,j]:4);
    END;
  WRITELN;
  min := X[1,1];
  FOR i := 1 TO n DO  {nadji min}  
    FOR j := 1 TO n DO
      IF (min > X[i,i]) AND (i = j) THEN         {elementi glavne dijagonale}
        min := X[i,i];
  WRITELN('Najmanji element glavne dijagonale matrice =', min);
END.

Izvođenje programa:

Index