function str = char(p)
% polynom/char - metoda pro prevod polynomu na retezec
% str = char(p)
% p ... objekt typu 'polynom'
% str ... vysledny retezec
% priklad: char(polynom([1 2 1])) vrati x^2+2x+1

p = p.koeficienty; % potrebujeme vektor koeficientu
stupen = length(p)-1; % stupen polynomu
str = []; % priprava
if stupen<0 % prazdny polynom je povolen
    str = '';
    return;
end
for i = 1:length(p) % zpracujeme koeficienty polynomu
    if p(i)==0
        stupen = stupen-1;
        continue; % koeficient roven nule vynechame
    end
    str = [str num2str(p(i),'%+d')]; % mame napr. -5
    % mocnina u 'x':
    switch (stupen) % podle mocniny rozhodneme o vypisu 'x^...'
        case 1
            str = [str 'x']; 
        case 0
            break;
        otherwise % mocnina 2,3,...
            str = [str 'x^' num2str(stupen)]; % neni to pro LaTeX!
    end % switch
    stupen = stupen-1; % jdeme na dalsi mocninu (nizsi)
end % for
if length(str)<1
    if length(p)>0
        str = '0';
    else
        str=[];
    end
else
    str = strrep(str, '+1x', '+x'); % vylepseni: +1x ... +x
    str = strrep(str, '-1x', '-x'); % vylepseni: -1x ... -x
    if str(1)=='+' % pokud vypis zacina znamenkem +, dame ho pryc
        str = str(2:end);
    end
end