Drawing with Loops - 6.Ромбче от звездички
Здравейте ,
Горната част на ромба я отпечатах според подсказките в *.doc файла с упражненията , а именно :
Подсказки:
- Разделете ромба на горна и долна част и ги печатайте с два отделни цикъла.
- За горната част завъртете цикъл за row от 1 то n:
- Отпечатайте n-row интервала.
- Отпечатайте “*”.
- Отпечатайте row-1 пъти “ *”.
- Долната част отпечатайте аналогично на горната с цикъл от 1 до n-1.
Дотук всичко е отлично , започнах с Долната част според подсказката с цикъл от 1 до n-1 . Резултата беше доста интересни безкрайни рисунки в конзолата. :)
Нужни ми бяха 2ч. за да стигна до решение с дебъгера и нагласяне на звездички и интервали.
Ето го и него : http://pastebin.com/5R58cP6J
Все пак реших задачата на 100 , но въпросът ми е защо не успях да нарисувам долната част с цикъл до n-1 (както е подсказано).
И другият въпрос който ми изниква , тези задачи за "чертане" с буквички и символчета за да ми изпапкат времето на изпита ли са замислени?
Опитах се да го обърна огледално , но не се получаваше. Изтървам нещо , но не знам кое. За мен тези задачи са насосване, да се учим да дебъгваме.
Погледна ли как съм го направил аз?
for (int i = 1; i < n; i++) на обратно става for (int i = n - 2; i > 0; i--)
По принцип края i > 0 е същото като i == 1, т.е. i = 1 когато е начало. И съответно i < n е същото като i <= n - 1, но обратния for почва от i = n - 2, защото там има с 1 ред по-малко. Ако искаш съвсем да ти е огледално всичко, вадиш си и средния ред от циклите и си готов.