1; %Octave-nak, ha matlabot használsz, kommenteld ki
% Gépszám:                    Név:                            Neptun:

% 1.
% rajzold ki egy ábrára, különböz? színnel a cos(x)-et az [1,2] intervallumon 0.05-es lépésközzel
% és erre egy négyszöget, ami az x=1.2 és x=1.8 pontban illeszkedik a fenti függvényre.

function elso()
    x=[1:0.05:2];
    plot(x,cos(x));
    hold on;
    x= [1.2 1.8 1.9 1.5 1.2];
    y= cos(x);
    y(3:4)=y(3:4)+2;
    plot(x,y);
end

% 2.
% Írj függvényt, aminek az inputja egy mátrix. Outputja a mátrixbeli egész számok maximumát 
% adja vissza, ezt ki is írja.

function m = masodik(A)
    Ind = (A==floor(A));    % Ind egy indikátor mátrix, ahol 1 ha teljesül a feltétel, 0 ha nem
    B = A.*Ind; % vagy A(Ind), az egy vektorba teszi a megfelelõ elemeket
    m = max(max(B))
    
    % egysorban:
    % m = max(A(A==round(A)))  %floor, round, ceil mindegyike jó.
end

% 3.
% Írj függvényt, aminek bemenete két vektor, a és b, ezek aktualizált verziói a kimenetek.
% A függvény a vektorok minden elemére (ameddig mindkettõnek van) hajtsa végre a következõt:
% Ha az elemek egyenlõk, akkor a eleme ne változzon, b-é legyen a duplája.
% Ha az elemek eltérése (0,5]-beli, akkor a elemét növeld 11-gyel, b-ének vedd a cosinusát.
% Ha más, akkor lépjen ki, írja ki a megváltozott vektorokat.

function [a,b] = harmadik(a,b)
    na = length(a);
    nb = length(b);
    for i=1:min(na,nb)
        if a(i)==b(i)
            b(i) = 2*b(i);
        elseif abs(a(i)-b(i)) <= 5
            a(i) = a(i) + 11;
            b(i) = cos(b(i));
        else
            break;
        end
    end
    a
    b
end

% 4.
% Írj függvényt, aminek az inputja egy mátrix.
% A mátrix diagonálisát tegyük egy diagonális mátrixba.
% Szorozzuk meg egy megfelel? méret? mátrixszal, aminek a diagonálisa 
% random 0 és 10 között, a többi helyen 2-esek vannak.
% Adja vissza az utolsó mátrix minimális elemét, írja is ki.


function m = negyedik(A)
    [n,m] = size(A);
    if n ~= m
        error("Nem negyzetes a mátrix!")
    end
    D = diag(diag(A));
    B = diag(rand(1,n)*10);
    B = B + 2*(ones(n) - eye(n));  
    B = D*B;
    m = min(min(B))
end

