a)
Code Block | ||
---|---|---|
| ||
for i = 1:99 fprintf ('Fiskebolla lengter etter havet\nFor havet det er fiskebollers hjem\nDette var det %d. verset\nNå er det bare %d igjen\n\n',i,100-i) end fprintf ('Fiskebolla lengter etter havet\nFor havet det er fiskebollers hjem\nDette var det siste verset\nNå staterstarter vi på 100 igjen\n\n') |
b)
Code Block | ||
---|---|---|
| ||
function numCoinsvector = untitledFunction7countCoins(listcoinList) tempListvector = 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. 1, 4); %oppretter returvektoren for i = 1:length(coinList) switch coinList(i) case 1 vector(1) = vector(1) + 1; case 5 vector(2) = vector(2) + 1; case 10 vector(3) = vector(3) + 1; case 20 vector(4) = vector(4) + 1; otherwise error('Kun gyldige mynter!'); end end end % Alternativ løsning function vector = countCoins2(coinList) coins = [1, 5, 10, 20]; vector = zeros(1,4); for i = 1:length(coins) vector(i) = sum(coinList == coins(i)); end if sum(coinList) ~= sum(vector.*coins) error('Kun gyldige mynter!'); end end |
c)
Code Block | ||
---|---|---|
| ||
function sumCoins(coinList) vector = zeros(1, 4); sum = 0; % 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(numCoinscoinList) fprintf('Du har %d %d-kroninger\n',numCoins(2,i),numCoins(1,i)) end |
c)
switch coinList(i)
case 1
vector(1) = vector(1) + 1;
case 5
vector(2) = vector(2) + 1;
case 10
vector(3) = vector(3) + 1;
case 20
vector(4) = vector(4) + 1;
otherwise
error('Kun gyldige mynter!');
end
sum = sum + coinList(i);
end
fprintf('Etter %d mynter har vi talt opp %d kroner\n', i, sum);
end |
d)
Code Block | ||
---|---|---|
| ||
function coins(price)
coinList = [20, 10, 5, 1];
sum = 0;
for i = 1:length(coinList) % Her kunne vi også skrevet 4. Kanskje vil vi utvide funksjonen i fremtiden slik at også lapper skal være med.
while price >= coinList(i)
sum = sum + 1;
price = price - coinList(i);
end
fprintf('Antall %d-kroninger | ||
Code Block | ||
function numCoins = 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))) coinList(i), sum); sum = 0; 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)% Alternativ løsning function coins(price) coinList = [20, 10, 5, 1]; sum = 0; for i = 1:length(coinList) % Her kunne vi også skrevet 4 sum = floor(price / coinList(i)); price = rem(price, coinList(i)); fprintf('Du harAntall %d-kroninger: %d-kroninger\n',numCoins coinList(2,i),numCoins(1,i)) end |
...
sum);
sum = 0;
end
end |