( need help ) nested for loops to print the following pattern
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Write a nested for loops to print the following pattern
A
BA
CBA
DCBA
EDCBA
I write my own code but the output is different any one can show me where is the mistake the code is :
for letter = 'A':'E'
for n= 'A':letter
fprintf(letter)
%fprintf(n)
end
fprintf('\n')
end
and the output is :
A
BB
CCC
DDDD
EEEEE
need help
1 comentario
Guillaume
el 5 de Dic. de 2017
A one-liner to generate that matrix:
char(toeplitz(65:69, [65, 32, 32, 32, 32]))
Obviously, not likely to be an accepted answer to this homework problem.
Respuestas (3)
Star Strider
el 5 de Dic. de 2017
You have to count down from the present index of ‘letter’ in the loop to 1.
(It is difficult to illustrate it without providing the complete solution.)
Example —
letter = 'A':'E';
loop with index k1
k1 = 1
print letter(k1)
k1 = 2
print letter(k1), letter(k1-1) ...
...
end loop
Use fprintf('%s'\n', ...)|* to print the concatenated letter array.
0 comentarios
KL
el 5 de Dic. de 2017
Editada: KL
el 5 de Dic. de 2017
You have it almost right but I'd suggest to use for-loops for indexing through rows(lines) and columns(individual character). Also initially you can create your character vector.
For example,
charVec = 'A':'E';
now you have all the possible characters here in this variable. Next is to use your for loops,
for letter = 1:length(charVec)
...
so first loop is for number of lines, as many lines as your number of characters.
for n= letter:-1:1
now as you see, second loop starts from the value of first loop's iterator ( letter) and goes backwards until 1. Why? Because you want to print in reverse order, right?
Now, print it inside the loop and finish the rest.
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!