My program gets three unique points (positive integers) and should rearrange them so they are in order from point 1 to 3 but when I print the variables at the end they are sometimes not in order. My code is pretty straight forward and I think it's obvious what I am trying to do but I must be doing something wrong here?
%get unique points
point1 = randomPoint(); point2 = point1; point3 = point1; while point1 == point2 point2 = randomPoint(); end while point1 == point3 || point2 == point3 point3 = randomPoint(); end %check ordering
if point1 > point2 temp = point1; point1 = point2; point2 = temp; end if point2 > point3 temp = point2; point2 = point3; point3 = temp; end display(point1); display(point2); display(point3);
–
function [point] = randomPoint() %get random points
point = 0; %1, 4, 7, 10, 13, 16, 19, 22, 25, 28
while mod(point, 3) ~= 1 %fall on start of fsm state
point = randi([1,28]); endend
Example output: >> run main
point1 =
13
point2 =
10
point3 =
19
Best Answer