Accepting multiple inputs in the form of an array
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
How would I create an input function that asks for 6 unique integers within a finite rage say 1-100 so that is rejects an input other than 6 unique integers within the range and reasks the question.
0 comentarios
Respuestas (2)
Stephen23
el 17 de Feb. de 2020
Editada: Stephen23
el 17 de Feb. de 2020
mnv = 1;
mxv = 100;
vec = [];
while numel(vec)~=6 || any(vec<mnv | vec>mxv) || any(mod(vec,1))
str = input('Enter six integers separated by spaces: ','s');
vec = sscanf(str,'%f',[1,Inf]);
end
And tested:
Enter six integers separated by spaces: 1 2 3 4 5
Enter six integers separated by spaces: 1 2 3 4 5 6.7
Enter six integers separated by spaces: 1 2 3 4 5 6789
Enter six integers separated by spaces: 1 2 3 4 5 6
>> vec
vec =
1 2 3 4 5 6
0 comentarios
Bhaskar R
el 17 de Feb. de 2020
Editada: Bhaskar R
el 17 de Feb. de 2020
n_entr = 6;
low_lim = 1;
high_lim = 100;
arr = zeros(1, n_entr);
c = 1;
fl =1;
while fl
in = input('Enter unique value: ');
if in == -1
disp('Program terminated by user !!');
break;
elseif c == n_entr
arr(c) = in;
fl = 0;
disp('All value are taken !!');
elseif any(arr == in)
disp('Duplicate entry, Enter again');
continue;
elseif in>=low_lim & in<=high_lim
arr(c) = in;
c = c+1;
else
disp('Invalid entry, Enter again');
continue;
end
end
0 comentarios
Ver también
Categorías
Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!