...
Code Block |
---|
function numCoins = untitledFunction7countCoins (list) tempList = zeros(2,max(list)); % lager en liste med antall elementer lik verdien til største mynten. for i = list tempList(2,i) = tempList(2,i)+1; % Teller antall mynter med denne verdien på plassen som tilsvarer % verdien til denne mynten. % 5 kroninger blir lagret i list(2,5), fordi i = 5 for alle 5 kroninger tempList(1,i) = i; % Angir verdien til mynten med denne indeksen. % 5 kroninger har verdi 5. end tempIndex = find(tempList(2,:)); % find finner indeksen til alle elementer i listen som er ulik null. numCoins = tempList(:,tempIndex); % Lager en ny liste med alle mynter som vi har flere enn null av. for i = 1:length(numCoins) fprintf('Du har %d %d-kroninger\n',numCoins(2,i),numCoins(1,i)) end |
...
Code Block |
---|
function numCoins = countCoins untitledFunction7(list) tempList = zeros(2,max(list)); % lager en liste med antall elementer lik verdien til største mynten. j = 0; for i = list tempList(2,i) = tempList(2,i)+1; % Teller antall mynter med denne verdien på plassen som tilsvarer % verdien til denne mynten. % 5 kroninger blir lagret i list(2,5), fordi i = 5 for alle 5 kroninger tempList(1,i) = i; % Angir verdien til mynten med denne indeksen. % 5 kroninger har verdi 5. j = j+1; if (mod(j,20)==0) fprintf('Summen er: %d\n', sum(list(1:j))) end end tempIndex = find(tempList(2,:)); % find finner indeksen til alle elementer i listen som er ulik null. numCoins = tempList(:,tempIndex); % Lager en ny liste med alle mynter som vi har flere enn null av. for i = 1:length(numCoins) fprintf('Du har %d %d-kroninger\n',numCoins(2,i),numCoins(1,i)) end |
d)
...
Code Block |
---|
dailyDinner = [60,139,63,102,94,83,49,75,133,102];
coins = [20,10,5,1];
numCoins = zeros(length(dailyDinner),length(coins));
i = 1; j = 1;
while i <= length(dailyDinner)
if dailyDinner(i)-sum(coins.*numCoins(i,:))-coins(j) >= 0
numCoins(i,j) = numCoins(i,j)+1;
elseif dailyDinner(i)-sum(coins.*numCoins(i,:)) == 0
i = i+1;
j = 1;
else
j = j+1;
end
end |