Logical and function question.

3 views (last 30 days)
Danny C
Danny C on 16 Sep 2016
Commented: John D'Errico on 16 Sep 2016
I'm trying to create a function that satisfies the following conditions :
- There must be more letters than numbers in combination.
- There must be at least one uppercase letter.
- The summation of all numeric digits must be between the given minimal and maximal values (exclusive).
And the following is the input I put in. (originalcombo, mincombo, maxcombo) and the output is supposed to be 'true'(1) but it keeps giving me the answer that it's false(0). How can I fix this problem?
originalcombo = 'GPBurdell1885';
mincombo = 20;
maxcombo = 30;
numbercombo=str2double(regexp(originalcombo,'[\d.]+','match'));
W=str2double(regexp(num2str(numbercombo),'\d','match'));
numberoutput = sum(numbercombo);
B = length(originalcombo);
C = B - length(numbercombo);
A = isstrprop(originalcombo, 'upper');
A = sum(A);
lock = (C > length(W)) && (A > 0) && (maxcombo>numberoutput>mincombo)
  2 Comments
Walter Roberson
Walter Roberson on 16 Sep 2016
Edited: Walter Roberson on 16 Sep 2016
I would point out that the numeric digits are not necessarily going to be beside each other, and that the digits are to be added individually. I would also point out that '.' should not be included as a numeric digit.
John D'Errico
John D'Errico on 16 Sep 2016
You just asked this question. So why post a second question just to provide more information?????????
Add a comment (NOT a new question, NOT an answer.) Or edit your original question.

Sign in to comment.

Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!