spell cheaker stuck in loop
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
riley collins
el 7 de Mayo de 2018
Comentada: riley collins
el 9 de Mayo de 2018
Ive got a simple enough problem code has to make sure user input is correct but Ive made a very ugly while loop and its not working at all probably needs to be completely redone, any tips are appreciated
if true
InputString = input('Input:', 's');
lenghtInput = length(InputString);
test = 'UuGgCcAa';
i = 1;
j = 1;
c = 1;
correctInput = false;
while correctInput ~= true
if InputString(i) ~= test(j) || j == lenghtInput
++j;
++c;
display(i)
if c == 3
c = 0;
i = i + 1;
end
end
correctInput = true;
end
%code
%it needs to check the only characters used are in the test variable
4 comentarios
Respuesta aceptada
Walter Roberson
el 7 de Mayo de 2018
tf = ismember(InputString, 'UuGgCcAa');
correctInput = all(tf);
4 comentarios
Walter Roberson
el 7 de Mayo de 2018
tf is an arbitrary variable name for this purpose. It could have been written as
are_individual_letters_correct = ismember(InputString, 'UuGgCcAa');
correctInput = all(are_individual_letters_correct);
The letters that are wrong would be
bad_letters = InputString(~are_individual_letters_correct);
ismember() checks each vector element in InputString against every element of 'UuGgCcAa' and returns true in the places that match and false in the places that do not match. If everything comes out as true then the entire string is valid.
Más respuestas (0)
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!