Effacer les filtres
Effacer les filtres

counting rows after fprintf

4 vues (au cours des 30 derniers jours)
yonatan friedman
yonatan friedman le 29 Déc 2019
Commenté : yonatan friedman le 31 Déc 2019
function printPythagoras(n)
n = 15;
for i = 3:n
for j = 4:n
for k = 5:n
if i^2 + j^2 == k^2 && i<j && n == fix(n)
fprintf('%d^2 + %d^2 = %d^2\n',i,j,k)
end
end
end
end
---------------
after that , i need to write : 'there are 4 combinations' (the number of the rows)
how to do it?
  1 commentaire
dpb
dpb le 29 Déc 2019
Modifié(e) : dpb le 29 Déc 2019
Add a counter inside the if block, then the appropriate fprintf statement after the all looping is done...

Connectez-vous pour commenter.

Réponses (1)

Adam Danz
Adam Danz le 30 Déc 2019
As dpb advised, you could use a counter.
n = 15;
counter = 0;
for i = 3:n
for j = 4:n
for k = 5:n
if i^2 + j^2 == k^2 && i<j && n == fix(n)
counter = counter+1;
fprintf('%d^2 + %d^2 = %d^2\n',i,j,k)
end
end
end
end
% Show count
fprintf('There are %d combinations.\n', counter)
Or you could store the outputs in a cell array and display them and the count at the end.
n = 15;
out = {};
for i = 3:n
for j = 4:n
for k = 5:n
if i^2 + j^2 == k^2 && i<j && n == fix(n)
out{end+1,1} = sprintf('%d^2 + %d^2 = %d^2',i,j,k);
end
end
end
end
% Display
disp(strjoin(out,'\n'))
% Show count
fprintf('There are %d combinations.\n', numel(out))
  1 commentaire
yonatan friedman
yonatan friedman le 31 Déc 2019
thank you

Connectez-vous pour commenter.

Catégories

En savoir plus sur General Applications dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by