Finding decimal values without mod
Afficher commentaires plus anciens
Is it possible or is there any way to find a value in an array that is a decimal without using mod(or any other function)?
5 commentaires
Ameer Hamza
le 2 Avr 2020
By decimal value, do you mean a fractional number. Do you want to seperate fractional numbers from integers?
James Tursa
le 2 Avr 2020
Please provide a small example of input and desired output.
Jose Grimaldo
le 2 Avr 2020
KALYAN ACHARJYA
le 2 Avr 2020
Modifié(e) : KALYAN ACHARJYA
le 2 Avr 2020
"For example, i want to separate the odd and even integers. I know there is easier ways,but i cant use functions only loops. (its a hw problem)"
You asked for with loop and without mod function, you can do multiple ways-
A=[1; 2; 3; 4; 5; 6; 7; 8]
m=1;n=1;
for i=1:length(A)
if rem(A(i),2)==0
EvenV(m)=A(i); % I want to store the Even integers
m=m+1;
else
OddV(n)=A(i); % i want to store the odd integers
n=n+1;
end
end
EvenV
OddV
James Tursa
le 2 Avr 2020
You are going to have to use some functions for this. Even the / you are currently using is a function. Which functions are explicitly forbidden?
Réponses (1)
Ameer Hamza
le 2 Avr 2020
Right now, this is the only way I can think of to detect even and odd numbers without using any rounding functions and just a while loop. I suspect there might be more efficient solutions.
A=[1; 2; 3; 4; 5; 6; 7; 8];
Evens = [];
Odds = [];
for i=1:numel(A)
x = A(i);
tf = isEven(x);
if tf
Evens = [Evens x];
else
Odds = [Odds x];
end
end
function tf = isEven(x)
x = abs(x);
while true
x = x - 2;
if x == 0
tf = 1;
return
elseif x < 1
tf = 0;
return
end
end
end
Catégories
En savoir plus sur Logical 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!