Plotting Square Consisting of '*'
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying to create a square consisting of '*' with for loop. I did this
a = input('enter a number:')
for ii = 1:a
for jj = 1:a
fprintf('*')
end
fprintf('\n')
end
%output=
%*****
%*****
%*****
%*****
%*****
But space needed between '*' side by side.(one character space) It needs to be seem like square. I couldn't do that. Also how can I do this like
* * * * *
* *
* *
* *
* * * * *
that with for loops. My friend said you need to use equations. But I don't know much about that. I started recently. Also If you know where can I find examples like this I would appreciate.
0 commentaires
Réponse acceptée
DGM
le 22 Mar 2021
Modifié(e) : DGM
le 22 Mar 2021
Try this:
clc
a = input('enter a number:');
for ii = 1:a
if any(ii==[1 a])
for jj = 1:a
fprintf('* ')
end
else
for jj = 1:a
if any(jj==[1 a])
fprintf('* ')
else
fprintf(' ')
end
end
end
fprintf('\n')
end
This yields:
enter a number:6
* * * * * *
* *
* *
* *
* *
* * * * * *
The console font should be monospaced, but the problem you're running into is because the character aspect ratio is not 1. Luckily, it's somewhere close to 2, so just adding a space works out about right. It doesn't look right in the browser because the font is different here.
0 commentaires
Plus de réponses (1)
Walter Roberson
le 22 Mar 2021
You do not need equations.
You can work with a series of for loops:
First phase: use one for loop to print the top row. Hint: print '* ' or '* ' to give alternating * * *
Second phase: use two for loops. The outer for loop is counting how many rows you have done. It also displays the left * . Then the inner for loop prints spaces. Then after the inner for loop, print the final * and newline.
Third phase: same as the first phase, print the alternating * and space.
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements 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!