Swapping without using swap

7 views (last 30 days)
Jeffrey
Jeffrey on 12 Oct 2014
Commented: Jan on 13 Oct 2014
I'm trying to sort and swap elements, but I keep getting an error whenever I try to do so. Can someone please take a look at my code and tell me what I'm doing wrong? Thanks. Code:
Matrix = input('Please, input a matrix of any length: \n');
Order = input ('Please, press 1 for ascending order or 2 for descending order: \n');
if Order==1
for i=1:length(Matrix)
if i(i)>i(i+1)
storage=[i(i+1):i(i)];
end
end
end
  1 Comment
Jan
Jan on 13 Oct 2014
When ever you mention, that you get an error, post a complete copy of the error message. Please do not let us guess this important detail.

Sign in to comment.

Answers (3)

Image Analyst
Image Analyst on 13 Oct 2014
What do you mean by swap? The code is nonsense: i(i) <-- what is that? To sort, simply use the sort function
[sortedMatrix, fortOrder] = sort(matrix, 'ascend'); % or 'decend'

Jeffrey
Jeffrey on 13 Oct 2014
I can't use the sort function on this assignment. I have to create my own way of sorting without using the sort command. Can this be done using a for loop and conditional statements? If so, how would I go about doing that for ascending matrices and descending matrices?
  1 Comment
Jan
Jan on 13 Oct 2014
Is this a comment to Image Analyst's answer? Then please use the comment section. He asked to clarify what "i(i)" should mean.

Sign in to comment.


Jeffrey
Jeffrey on 13 Oct 2014
What I mean by "swap" is the following: Say you want the user to give you an array. Let's say the array is [3,5,4]. I have to find a way, without using the sort function, to display the array as:
[3,4,5] or [5,4,3].

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!