Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Mentorship
- {
- using System;
- public class Program
- {
- public static void Main()
- {
- /*Първото нещо което забелязваме е че имаме да прочетем някакъв вход от конзолата...
- По специално някакво цяло число. По-нататък ще се учат но за целите числа в C# отговаря типа данни "int"
- Повече за него можеш да прочетеш от книгата на Наков. Мога и аз да ти го обясня но не съм сигурен колко знания
- имаш в сферата на програмирането и не искам да рискувам да те объркам с излишни знания за момента...
- За да прочетем число от конзолата се ползва "int.Parse(Console.ReadLine());"... За момента запомняш на изуст
- синтаксиса а ще го обясня на живо*/
- int size = int.Parse(Console.ReadLine());
- /*Следващото нещо което забелязваме е че фигурата е широка толкова колкото е стойността на "size"...
- Първия и последния ред са еднакви... Първо ще помислим за първия и последния ред и после ще начертаем средата.
- Трябва ни нещо което изписва звезда толкова на брой пъти колкото искаме и за наш късмет разполагаме с такава команта
- и тя е "new string('*', size);"... Това ще създаде някакъв текст от някакъв символ и ще е точно толкова дълък колкото
- искаме... Пак на изуст и ще се обяснява по-подробно на живо...*/
- //Това е горната част и се създава по този начин.
- //За да го изпечатаме на конзолата трябва да я викнем с "Console.WriteLine();"
- string topPart = new string('*', size);
- Console.WriteLine(topPart);
- /*Картинката е висока толкова реда колкото е стойността на "size" но ние вече имаме първия и последния ред
- които са написани отделно... Това означава че остава да изпечатаме средните редове които след като имаме
- вече два са "size - 2" реда... Това нещо се прави с фор-цикъл на който се задава начална и крайна стойност
- на някаква променлива която определя колко пъти ще се изпълни кода вътре в къдравите скоби...
- Стойността на променливата "currentLine" в началото е 1 след като се изпълни кода ще се увеличи с едно и ще стане 2
- и кода в скобите пак ще се изпълни... Ще престане да се изпълнява чак когато стойността на променливата стане равна
- на "size - 2"... И отново засега толкова на живо повече*/
- for (int currentLine = 1; currentLine <= size - 2; currentLine++)
- {
- /*За средните редове виждаме че започват със звездичка имат празни места и след това пак звезда... Празние места са
- "size - 2" отново понеже квадрата е широк колкото "size" но първия и последния символ се заемат от "*"
- След като знаем как да правим стринг от произволна дължина и символ може да го ползваме за празните места
- "new string(' ', size - 2);" а за да получим звездите отляво и отдясно може да използваме знака "+" който
- като приложим към текст действа така че го залепя... ако имам "а" + "b" ще стане "аb"... надявам се да схванеш
- но ето как се прави и след това принтираме*/
- string middlePart = "*" + new string(' ', size - 2) + "*";
- Console.WriteLine(middlePart);
- }
- //Това е долната част
- //Правим същото което направихме и за горната част
- //Създаваме някакъв текст и после го печатаме
- string bottomPart = new string('*', size);
- Console.WriteLine(bottomPart);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement