a)
Code Block | ||
---|---|---|
| ||
function days = daysInMonth(mndNrmonthNumber) switch ( mndNr monthNumber) case {1 , 3, 5, 7, 8, days = 31;10, 12} case 2 days = 28; case 3 days = 31; case 4 days = 30; case 5 days = 31; case 6 days = 30; case 7 days = 31; case 8 days = 31; case 9 days = 30; case 10 days = 31; case 11{4, 6, 9, 11} days = 30; case 122 days = 3128; otherwise days = 0; end end |
b)
Code Block | ||
---|---|---|
| ||
function resbool = isLeapYear ( year ) ifbool mod= (year , 4) == 0 % mod (a, b) gir resten dersom a deles på b. % Dersom mod (year > 0 && mod(year, 4) er== lik 0, er&& year delelig på 4 if mod (~mod(year , 100) == 0 if || mod (year , 400) == 0 res = true ; % Delelig paa 4, 100 og 400 else res = false ; % Delelig paa 4 og 100 , men ikke 400 end else res = true ; % Delelig paa 4, men ikke 100 end else res = false ; % Ikke delelig på 4 end end |
Eneste endringen som trengs er at februar nå må sjekke om det er skuddår i år, og så legge til verdien til funksjonen isLeapYear:
);
end
|
Da blir den oppdaterte daysInMonth-funksjonen slik:
Code Block | ||
---|---|---|
| ||
function days = daysInMonth(monthNumber, year)
switch (monthNumber) | ||
Code Block | ||
... case 2 days = 28 + isLeapYear(year); case 3 |
Det betyr at daysInMonth må ta inn year som argument også
c)
Code Block |
---|
function list = sortFunc(list) sorted = 0; len = length(list); while sorted == 0 sorted = 1 {1, 3, 5, 7, 8, 10, 12} days = 31; forcase i = 2:len if list(i) < list(i-1){4, 6, 9, 11} tempdays = list(i)30; list(i) = list(i-1);case 2 days = 28 + listisLeapYear(i-1) = tempyear); otherwise sorteddays = 0; end end end end |