How do I subtract from specific elements in a vector?

1 次查看(过去 30 天)
I'm supposed to be able to calculate the total cost of movie tickets, with a discount program. The program says that if there are more than 5 customers of a type (child, adult, senior, student) one person of the type gets in free. I think I'm really close to solving it, but I'm stuck at the last little part.
function [income cnt] = tickets( price, numTickets )
if(numTickets>5)
numTickets = (numTickets>5)-1;
end
income = price.*numTickets;
income = sum(income);
cnt = sum(numTickets);
end
So I added everything up myself (using [totalIncome totalCount]= tickets([3 10 6 5], [1 6 1 2])) and got 69 for the final price, but Matlab gave me 79.
Thanks for any help!

采纳的回答

Rahul K
Rahul K 2017-3-8
编辑:Rahul K 2017-3-8
function [income cnt] = tickets( price, numTickets )
cnt = sum(numTickets);
numTickets = numTickets - (numTickets>5);
income = sum(price.*numTickets);
end
If numTickets = [1 6 1 2], then (numTickets>5) == [0 1 0 0]. Subtract this from the original input, and you get the correct number of people to calculate the income with.

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by