MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by kevin piaget on 9 Dec 2012

defined function that sorts the elements of a vector (of any length) from largest to smallest.

this is my work

function [ y ] = downsort_function( x ) %UNTITLED Summary of this function goes here % Detailed explanation goes here n=numel(x); t=1; a=0; while t==1; for i=1:(n-1) if x(i)>x(i+1) x(i+1)=x(i); t=1; end

end

end

the problem is when i try to read with my vector, my machine gets stuck. it not giving me anything or i have to restart the machine.

thanks for yr help

*No products are associated with this question.*

Answer by Walter Roberson on 9 Dec 2012

You never set t to 0 so your loop never exits.

Show 1 older comment

Walter Roberson on 9 Dec 2012

Correct, but I was going to let him discover that once the code did not infinite loop.

kevin piaget on 9 Dec 2012

i made this chance but i still don't have an answer

function [ y ] = downsort_function( x ) %UNTITLED Summary of this function goes here % Detailed explanation goes here n=numel(x); t=1; a=0; while t==0; for i=1:(n-1) if x(i)>x(i+1) x(i+1)=x(i); swap(x(i+1),x(i)) t=1; end

end

end

## 0 Comments