function b = most_change(a)
a(:,1)=a(:,1)*0.25;
a(:,2)=a(:,2)*0.1;
a(:,3)=a(:,3)*0.05;
a(:,4)=a(:,4)*0.01;
c=a(:,1);
d=[]
for i=1:length(c)
d(i)=sum(a(i,:))
end
[M,idx]=max(d)
b=idx
end
why does this not work?
a(:,2) should be multiplied with 0.05
a(:,3) should be multiplied with 0.1
since they are not ordered in the question
thank you
Test  Status  Code Input and Output 

1  Pass 
a = [1 2 1 15];
b = 1;
assert(isequal(most_change(a),b))
d =
[]
d =
0.6500
M =
0.6500
idx =
1
b =
1

2  Pass 
a = [ 1 2 1 15;
0 8 5 9];
b = 2;
assert(isequal(most_change(a),b))
d =
[]
d =
0.6500
d =
0.6500 1.1400
M =
1.1400
idx =
2
b =
2

3  Pass 
a = [ 1 22 1 15;
12 3 13 7;
10 8 23 99];
b = 3;
assert(isequal(most_change(a),b))
d =
[]
d =
2.6500
d =
2.6500 4.0200
d =
2.6500 4.0200 5.4400
M =
5.4400
idx =
3
b =
3

4  Pass 
a = [ 1 0 0 0; 0 0 0 24];
b = 1;
assert(isequal(most_change(a),b))
d =
[]
d =
0.2500
d =
0.2500 0.2400
M =
0.2500
idx =
1
b =
1

5  Fail 
a = [ 0 1 2 1; 0 2 1 1];
c = 1;
assert(isequal(most_change(a),c))
d =
[]
d =
0.2100
d =
0.2100 0.2600
M =
0.2600
idx =
2
b =
2

6  Fail 
% There is a lot of confusion about this problem. Watch this.
a = [0 1 0 0; 0 0 1 0];
c = 2;
assert(isequal(most_change(a),c))
% Now go back and read the problem description carefully.
d =
[]
d =
0.1000
d =
0.1000 0.0500
M =
0.1000
idx =
1
b =
1

7  Pass 
a = [ 2 1 1 1;
1 2 1 1;
1 1 2 1;
1 1 1 2;
4 0 0 0];
c = 5;
assert(isequal(most_change(a),c))
d =
[]
d =
0.6600
d =
0.6600 0.5100
d =
0.6600 0.5100 0.4600
d =
0.6600 0.5100 0.4600 0.4200
d =
0.6600 0.5100 0.4600 0.4200 1.0000
M =
1
idx =
5
b =
5

Make an awesome ramp for a tiny motorcycle stuntman
321 Solvers
Convert a vector into a number
492 Solvers
Create a two dimensional zero matrix
333 Solvers
Find out sum of all elements of given Matrix
332 Solvers
293 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!