function prumer_z_predchoziho
% Vytvoøí matici, jejíž každý prvek je prùmìrnou hodnotou z prvkù, které
% leží nad ním ve dvou pøedchozích øádcích ve stejném sloupci. První dva
% øádky matice jsou zadány uživatelem. Matice mùže mít maximálnì
% velikost 20x7 a minimálnì 3x1.

% Matice je v matematice schématické uspoøádání matematických objektù -
% prvkù matice (též elementù matice) - do r øádkù a s sloupcù.
% Prvky matice jsou oznaèeny indexy udávajícími øádek a sloupec, v nichž se
% prvek nalézá.

disp('Zadejte rozmery matice (matice muze mit velikost maximalne 20x7, minimalne 3x1):') % výpis na obrazovku bez názvu promìnné
r=input('Zadej pocet radku matice: r = '); % uživatel zadá v pøíkazovém øádku poèet øádku, uloží se do promìnné r
s=input('Zadej pocet sloupcu matice: s = '); % uživatel zadá v pøíkazovém øádku poèet sloupcù, uloží se do promìnné s
ch=0;   % do promìnné ch je pøiøazena 0 (bude se poèítat poèet chyb pøi zadávání)
while ((r>20)|(r<3))|((s>7)|(s<1))% cyklus s podmínkou na zaèátku, promìnné r musi byt zvoleno od 3 do 20 ,s od 1 do 7
                            % tj. cyklus se provádí, dokud r není menší nebo rovno 20 a zároveò vìtší nebo rovno 3
                            % a dokud s není menší nebo rovno 7 a zároveò vìtší nebo rovno 1
                            % znak | znaèí logický operátor OR(nebo)
    ch=ch+1; % uživatel udìlal chybu pøi zadávání, promìnná ch se zvýší o 1
    if ch>3 % podmínìný pøíkaz - podmínka: udìlá-li uživatel více než 3 chyby pøi zadávání
        disp('Konec oprav zadavani - moc chyb') % výpis na obrazovku bez názvu promìnné
        break % ukonèí provádìní cyklu while
    end % ukonèení podmínìného pøíkazu if
    disp('Zadejte rozmery matice (vyberte, prosim, pro r hodnotu od 3 do 20 a pro s hodnotu od 1 do 7)!') % výpis na obrazovku bez názvu promìnné
    r=input('Zadej pocet radku matice: r = '); % uživatel zadá v pøíkazovém øádku poèet øádku, uloží se do promìnné r
    s=input('Zadej pocet sloupcu matice: s = '); % uživatel zadá v pøíkazovém øádku poèet sloupcù, uloží se do promìnné s
end % ukonceni cyklu while

if ch>3 % podmínìný pøíkaz - podmínka: udìlal-li uživatel více než 3 chyby pøi zadávání
    disp('Program je ukoncen - chybne zadavani') % výpis na obrazovku bez názvu promìnné
else % % v jiném pøípadì, tj. neudìlal-li uživatel více než 3 chyby pøi zadávání
    disp('Zadej prvky v prvnich 2 radcich matice:') % výpis na obrazovku bez názvu promìnné
    for m=1:2 % cyklus s pevným poètem opakování, m urèuje øádky matice (cykus do 2- uživatel zadá první 2 øádky )
        for n=1:s % cyklus s pevným poètem opakování, n urèuje sloupce matice
            fprintf('\n prvek [%d,%d]: ',m,n); % formátovaný textový výstup
                   % øídící znak \n – nová øádka
                   % v apostrofech je textový øetìzec
                   % formátovací sekvence – zaèíná znakem %
                   % d - desítkové èíslo
                   % m,n - prvek matice bude v m-tém øádku a n-tém sloupci
            A(m,n)=input(''); % uživatel zadá v pøíkazovém øádku prvek matice v m-tém øádku a n-tém sloupci
                          % v apostrofech není potøeba již psát výzvu pro uživatele
                          % zpráva je napsána pomocí fprintf
        end % ukonèení cyklu for
    end % ukonèení cyklu for
    disp('Zadane 2 radky matice: ') % výpis na obrazovku bez názvu promìnné
    disp(A) % výpis na obrazovku bez názvu promìnné

    for m = 3:r % cyklus s pevným poètem opakování, m urèuje øádky matice
                % cyklus pro tvorbu matice zaèíná od 3 (první 2 øádky zadá uživatel)
        P=A((m-2):(m-1),:); % do promìnné P se pøiøadí (m-2)-tý a (m-1)-tý øádek matice A
                            % matice P má tedy 2 øádky a s sloupcù
        A(m,:) = mean(P); % do m-tého øádku matice A se pøiøadí prùmìry ze sloupcù matice P
    end % ukonèení cyklu for
    disp('Vytvorena matice:') % výpis na obrazovku bez názvu promìnné
    disp(A) % výpis na obrazovku bez názvu promìnné
end % ukonèení podmínìného pøíkazu if