Професионална програма
Loading...
NonaG avatar NonaG 111 Точки

Квадрат от звезди - шеста задача от първи урок

Бих искала да помоля за помощ: направих първите пет задачи, с помощта на форума и на няколко изслушани първи лекции, но осъзнавам, че нямам речник за командите /и още куп други неща/- дори не мога да се изразя правилно...

Не ми е ясно с коя команда конзолата ще ми изпише нов ред, не ми е ясно кога ще продължи на същия ред, ... Единственото, на което стъпвам, е някакви бегли познания от "С++" на хлапето, докато ходеше на курсове в Телерик, за четвърти и пети клас и някаква прилична грамотност по английски... Но тук синтаксисът е различен /така ли се нарича?/. И след две вечери по няколко часа опити се налага да си призная, че ми трябва помощ... Дори и да ми постнете готово решение, после пак ще Ви висна на главите, та ако може за анализ на ред по ред какво правя с този код и какво трябва да променя:

static void Main(string[] args)
        {

            var n = int.Parse(Console.ReadLine()); - тук програмата чете написаното от мен число /n/
            {
                Console.WriteLine((new string('*', n)));
- - тук й казвам да напише толкова пъти *, колкото е n /първия ред от квадратчето от домашното/
            }
            var i = n - 2;
- тук се опитвам да й кажа как да изчисли бъдещите празни места в квадратчето
            for (int k = 0; k <= i; k++) - тук трябваше да й задам цикъл, в който да печата толкова реда, колкото е i
            {
                Console.WriteLine(new string('*', 1));
- тук ми трябва изписване на една * на нов ред
                Console.Write(new string(' ', i)); - трябва ми изписване на толкова спейсчета, колкото е i, на същия ред
                Console.Write(new string('*', 1)); - това е втората * на същия ред
            }
            {
                Console.WriteLine(new string('*', n));
- тук трябваше да е нов ред от *,последния от квадратчето
            }

 

Командите от С# дали ще ги разглеждаме в следващите лекции по-подробно или се разчита на по-висока грамотност по темата /ако е второто, дали има създаден някакъв речник за начинаещи?/?

 

Тагове:
2
Programming Basics
JivkoJelev avatar JivkoJelev 239 Точки
Best Answer

http://pastebin.com/K5BF8hEQ Ето фикс на кода ти.Долу горе правилно се ориентираш.Вътре в цикала трябва само да почнеш да печаташ на един ред и в края на цикъла почваш на нов ред.Иначе всичко ти е правилно.

0
NonaG avatar NonaG 111 Точки

Едно WriteLine не е било на мястото, аз мислех, че изцяло по погрешен начин  подхождам към решението, като гледах какви ги рисува конзолата... Благодаря!

1
dgodinov avatar dgodinov 1 Точки

Има малка грешка , вместо for (int k = 0; k <= i; k++)  , трябва да е for (int k = 1; k <= i; k++) , защото излиза с 1 ред повече :)

1