Please what is wrong with this code?
Info
This question is closed. Reopen it to edit or answer.
Show older comments
Write a function called valid_date that takes three positive integer scalar inputs year, month, day. If these three represent a valid date, return a logical true, otherwise false. The name of the output argument is valid. If any of the inputs is not a positive integer scalar, return false as well. Note that every year that is exactly divisible by 4 is a leap year, except for years that are exactly divisible by 100. However, years that are exactly divisible by 400 are also leap years. For example, the year 1900 was not leap year, but the year 2000 was. valid = valid_date(2018,4,1) valid = valid_date(2018,4,31)
6 Comments
Geoff Hayes
on 7 Apr 2020
Ajay - rather than attaching a screen shot of your code, please attach the code itself. Also, please discuss what you thin is wrong with the code. Is there an error? If so, please copy and paste the full error message to this question. Do you get an incorrect answer for some inputs? If so, please copy and paste the inputs that you are using with the observed answer and the expected answer.
Ajay Raineni
on 7 Apr 2020
Geoff Hayes
on 7 Apr 2020
And can you attach the code instead of a screen shot? Also, please include the inputs that you are using (i.e. the test cases).
Ajay Raineni
on 7 Apr 2020
Edited: Geoff Hayes
on 7 Apr 2020
Ajay Raineni
on 7 Apr 2020
Geoff Hayes
on 7 Apr 2020
Ajay - don't lines like
if month == 1 3 5 7 8 10 12;
cause an error for you? You probably want to replace with something similar to
if ismember(month, [1 3 5 7 8 10 12])
I strongly suggest that you use the MATLAB debugger to step through the code while the function is running. As you step through each line, ask yourself if what you are trying to do makes sense and that the answer you get is expected.
Answers (0)
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!