How would one reverse the order of an array using a while loop?

조회 수: 4 (최근 30일)
For this homework question I am asked to write a program using the while loop that will display a given row or column vector in reverse.

채택된 답변

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam 2016년 10월 30일
if v is the vector:
n=length(v);
while n>0
disp(v(n));
n=n-1;
end
  댓글 수: 2
Justin Keach
Justin Keach 2016년 10월 30일
Thank you! That works, but now I need to convert each output back into a vector so that if v=[1 2 3 4] my answer will return as v1= [4 3 2 1]. My current attempts have only returned my row vector as the final element/final output of the loop.
Justin Keach
Justin Keach 2016년 10월 30일
v=Array2;
k=length(v);
while k>0;
disp(v(k));
k=k-1;
end
disp(['The original array was: ' mat2str(v)]);

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2016년 10월 30일
Supposed the length of your vector is L. Then you want to copy position j to position L-j+1 in the new vector. For example, length 6, position 1 gets written to position 6-1+1 = 6; position 2 gets written to position 6-2+1 = 5, position 3 to position 6-3+1 = 4, and so on.
  댓글 수: 2
Justin Keach
Justin Keach 2016년 10월 31일
How would you implement this into a while loop? I understand what you mean, but I'm not sure how to write it in a program.
Walter Roberson
Walter Roberson 2016년 10월 31일
In your code above,
k=length(v);
and then
L = k;
and then entry k of input corresponds to entry L-k+1 of output.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by