function A = snake()

%funkcia na vyrobenie "hadika"

%  zoradenie prvkov v matici od najvacsieho po najmensie do tzv hadika



pRiadkov = input('zadaj pocet riadkov matice ');

pStlpcov = input('zadaj pocet stlpcov matice ');

maxInt = input('zadaj maximalnu hodnotu prvku v matici ');



display('povodna matica')

Matica = randi(maxInt,pRiadkov,pStlpcov);

disp(Matica);





subplot(1,2,1)

%bar = stlpcovy diagram



bar3(Matica)

view(-154,33)

title('povodne usporiadanie cisiel matice')

xlabel('stlpec')

ylabel('riadok')

zlabel('hodnota')



%zoradenie matice od najmensieho po najvacsie/bubble sort

    i = 0;j=0;

   for j = 1:(pRiadkov*pStlpcov-1)

     

     for i = 1:(pRiadkov*pStlpcov-1)

             if Matica(i) > Matica(i+1)

                 c = Matica(i);

                 Matica(i) = Matica(i+1);

                 Matica(i+1) = c;

             end

      end

    

   end

    

%nepouzival som display matica, takto to vyzera krajsie

display('zoradena matica');

disp(Matica);





i = 0;j=0;

    

%naplnenie novej(zeros) matice  s rovnakymi rozmermy prvkami zo starej

    Matica2 = zeros(pRiadkov,pStlpcov);

for i = 1:pRiadkov

    for j =1:pStlpcov

        Matica2(i,j) = Matica(pStlpcov*(i-1)+j);

    end

end





    

display('vysledna matica je ');

disp(Matica2);



%otocenie parnych riadkov odzadu

for i = 1:pRiadkov

    %rem = zvysok po deleni

    if (rem(i,2) == 0)

        Matica2(i,1:end)=Matica2(i,end:-1:1);

   end

end

subplot(1,2,2)

bar3(Matica2)

%meni uhol pohladu, pri otoceni su param. v lavom dolnom rohu

view(-154,33)

title('usporiadane cisla v matici')

xlabel('stlpec')

ylabel('riadok')

zlabel('hodnota')

A = Matica2;



end



