Effacer les filtres
Effacer les filtres

create and display a cell array that have a same length of requiremant

1 vue (au cours des 30 derniers jours)
jarvan
jarvan le 17 Nov 2014
Commenté : jarvan le 18 Nov 2014
I a writting a script that will create and display a cell array that will loop to store strings of lengths 4, 5, 6, and 7. it will ask the user for the string and also make a error-check. for example:
Enter a string of length 5: hello
Enter a string of length 6: !@#$%^
ncell{2} =
hello
Error: String has wrong length
ncell{3} =
!@#$%^
Here is my code
stringlength = cell(4,1);
n = 4;
for i = n:7
stringlength{i} = input('Enter a string of length :','s')
if length(stringlength) ~= i
disp('Enter the right one')
else
stringlength{i} = input('Enter a string of length :','s')
end
end
However, the code seems wrong because it keeps going although I put in a wrong length of strings

Réponse acceptée

Guillaume
Guillaume le 17 Nov 2014
length(stringlength) is the length of the cell array, so it's 4. So your
if length(stringlength) ~= i
will always be true on the first iteration of the loop ( i = 4) and false all the others ( i=5:7).
You forgot to index in the cell array. To test the length of the string:
length(stringlength{i})
Note that there's a flaw in your program. If the user fails to enter a string of the right size, you ask him again to enter a string of the right size. The second time round, you don't check it, so any size can be entered.
  1 commentaire
jarvan
jarvan le 18 Nov 2014
thank your for warning me that adding the error-check with the right size.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by