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

3 views (last 30 days)
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)

Answers (1)

James Tursa
James Tursa on 9 Sep 2020
Edited: James Tursa on 9 Sep 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.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!