m.r.m.40 Ответов: 2

переверните число 345 => 543 с помощью matlab


привет,

я использую matlab и пытаюсь перевернуть число, используя приведенный ниже код:


function rnum = reverse(num)
rnum=0;
while(num>0)
    m= mod(num,10);
    rnum = rnum * 10 + m;
    num = num /10;
end

end



я получаю :

ans =

   Inf


как я могу это исправить? и получаем истинное результате?

2 Ответов

Рейтинг:
0

DinoRondelly

Быстрый поиск в google я нашел это,

Преобразование числа в строку:
num2str(123)

Используйте fliplr:
fliplr(num2str(123))


m.r.m.40

спасибо, Мистер Дино.

я не хочу использовать функции по умолчанию. ищу алгоритм.

DinoRondelly

Ладно, вам, вероятно, придется это построить, хотя я и не знаю, почему ... удачи

Рейтинг:
0

m.r.m.40

по крайней мере, это сработало.:

function rev = reverse(num)
rev=0;
while(num>1)
    m= mod(num,10);
    rev = floor(rev * 10 + m);
    num = num /10;
    %-----display situation each turn
    disp(num);
end
end