I'm currently working on a project which has numbers assigned to each letter and i'm trying to create an array of each letter with its corresponding number below it so that when i try sorting the numbers from highest to lowest the letters get arranged as well but it's not working out for me here is my code
% code
clc
clear
n=input('please enter the number of mud types you have ');
for i=1:n
x(i)=input('please enter the name of the mud in the order you want ','s');
end
for j=1:n
y(j)=input('please enter the number of the mud in the order you want ');
end
A=[x;y]

1 commentaire

Jan
Jan le 17 Mar 2017
Modifié(e) : Jan le 17 Mar 2017
What is your question? Assigning strings to "x(i)" must fail, because strings are vectors of type char, while x(i) is a scalar.

Connectez-vous pour commenter.

 Réponse acceptée

Jan
Jan le 17 Mar 2017

1 vote

Using a cell string would allow to names with more than 1 character also.
n = input('please enter the number of mud types you have ');
Str = cell(1, n); % Pre-allocate!!!
y = zeros(1, n); % Pre-allocate!!!
for k = 1:n
Str{k} = input('please enter the name of the mud in the order you want ','s');
end
for k = 1:n
y(k) = input('please enter the number of the mud in the order you want ');
end
[ySorted, index] = sort(y, 'ascending');
StrSorted = Str(index);

1 commentaire

Ahmed Ashraf
Ahmed Ashraf le 17 Mar 2017
dude you are amazing thank you so much

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by