im trying to create a while loop for random numbers and it says if its even or odd

3 visualizaciones (últimos 30 días)
this isnt working for me. The odd counter and the even counter dont add up tp 20. Please help
% Write a program called evens.m that uses a while loop to repeatedly:
% Create a random integer between 1 and 50
% Determine if the integer is even or odd
% Use the rem function, which returns a 0 if x is divisible by y
% For more information, type help rem in the Command Window
% Count the number of integers that are even and number of integers that are odd
% This process should be repeated until 20 even numbers have been generated
% Display the total number of integers generated in the Command Window
clear
clc
%% set parameters
x = randi([1,50])
y = rem(x,2)
Ecounter = 0;
Ocounter = 0;
times = 0;
while times < 20
x = randi([1,50])
if rem(x,2) == 0
Ecounter = 0+1;
end
if rem(x,2) == 1
Ocounter = Ocounter+1;
end
times = times+1;
end
disp(Ocounter)
disp(Ecounter)

Respuestas (1)

James Tursa
James Tursa el 9 de Sept. de 2020
Editada: James Tursa el 9 de Sept. de 2020
Change this
while times < 20
to this
while Ecounter < 20
and change this
Ecounter = 0+1;
to this
Ecounter = Ecounter+1;
You also need to display the resulting "times" value according to the instructions.

Categorías

Más información sobre Loops and Conditional Statements 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!

Translated by