MATLAB: Adding rows with constraint

adding rows with constraint

a=[10,11,8; 6,5,7; 4,6,5; 0,0,5]; output=[10,11,8; 16,16,15; 20,22,20; 0,0,25];
First row should be as it is, in the second row elements should be added, in the third row also elements should be added but in the final row if '0' is there that column should not be added column with out '0' has to be added.

Best Answer

b=cumsum(a);
b(a==0)=0;