print + sign in ans
Show older comments
how to print ans like this: Result is: 1+2+3+4=10
Answers (2)
KSSV
on 18 Oct 2017
str = '1+2+3+4=10' ;
fprintf('Result is:%s\n',str)
5 Comments
Mubashir Ali
on 18 Oct 2017
Edited: Walter Roberson
on 18 Oct 2017
Mubashir Ali
on 18 Oct 2017
KSSV
on 18 Oct 2017
for i=m:n
sum=sum+i;
fprintf('result is:%f\n',sum)
end
Walter Roberson
on 18 Oct 2017
Edited: Walter Roberson
on 18 Oct 2017
fprintf('%d+', m:n-1);
fprintf('%d = %d\n', n, TheTotal)
You definitely need to fix your vec array, whatever it is for. You are currently constructing a multidimensional array, such as zeros(2,3,4,5) for the case 2:5
Using 'sum' as the name of a variable is not recommended; it is quite common to try to use 'sum' as a variable name and then in the same code segment, try to call sum() as a function.
@Mubashir Ali: We had multiple questions in the forum concerning the redefinition of "sum" as a variable:
% Hidden in another script:
sum = rand(1, 10);
...
sum(1:100) % Why is this not working?
So better avoid using names of built-in function as variables. Use e.g. "s" instead.
This is a homework question, but you have shown an almost working code already. I only clean it up a little bit:
m = input('from:');
n = input('to:');
if m>n
error('Invalid numbers'); % not DISP: Never proceed after an error!
end
% vec=zeros(m:n); % Neither needed, but better: vec = zeros(m-n, 1);
fprintf('result is:\n');
s = 0;
for i = m:n
s = s + i;
if i < n
fprintf('%d + ', i);
else % In the last iteration display the result also:
fprintf('%d = %d\n', i, s);
end
end
Categories
Find more on Structures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!