Loading...
radoslavgeorgiev93 avatar radoslavgeorgiev93 0 Точки

Въпрос относно задача номер 6 от Основи на програмирането: Квадрат от Звездички

Здравейте,

Та исках да попитам защото не ми стана ясно какво точно направих, но с малко риисърч го направих. Ето това ми е кодът:

    using System;

    namespace Projects
    {
        class Program
        {
        static void Main(string[] args)
        {
            var a = int.Parse(Console.ReadLine());

            Console.WriteLine(new string('*', a));
            for (int i = 0; i < a - 2; i++)
            {
                Console.Write("*");
                for (int b = 0; b < a - 2; b++)
                {
                    Console.Write(" ");
                }

                Console.WriteLine("*");
            }
            Console.WriteLine(new string('*', a));
        }
            }
        }
    

 

Та работи, но не знам точно за какво служи new string и защо ми се получи като сложих: а - 2

И също така разлиакта между: Console.WriteLine и Console.Write

Благодаря предварително за отговорите.

0
Programming Basics 20/05/2017 18:14:17
mar10 avatar mar10 1 Точки

Здравей,

Console.Write - изписва следващия символ на съшия ред, докато

Console.WriteLine - изписва символа на нов ред.

За new string мога да кажа, че създава твой собствен вид текст, който мойеш да повториш "а" пъти, ако говорим конкретно за кода който си сложил по горе. За останалата част от задачата не мисля че е правилно да коментирам, защото и на мен ми помогнаха да направя кода елегантен... :)

0
BozhidarBozhilov avatar BozhidarBozhilov 8 Точки

Не зная какъв ти е бил кода, когато не се е получавало и кое а-2 си променил, но и редовете със спейсове, както и самите спейсове са а-2 броя.

0
gadjov avatar gadjov 115 Точки

Здравей,

Като рисуваш фигурки, според мен най важно е да разбереш логиката, кои елементи са статични и кои динамични (и на какъв приницип се повтарят). В този случай имаш 3 елемента:

1. Горната страна на фигурата - статична (затова се принтира с Console.WriteLine(new string ('', a);)

2. Долната страна на фигурата - статична (затова се принтира с Console.WriteLine(new string ('', a);)

3. Средата или пълнежа на фигурата - динамичен (за това се принтира със цикъл)

И сега ако ги подредим правилно, имаш вход а = 6 примерно, тогава принтираш статичния ред, след това се завъртя цикъл. Имаме един статичен ред написан и трябва да имаме и най-отдоло още един. И ето затова цикъла трябва да се повтори а - 2.

 

0
radoslavgeorgiev93 avatar radoslavgeorgiev93 0 Точки

Благодаря за изчерпателните отговори. Ако имате съвети за напред, моля заповядайте. Приемам всякакви и всякаква информация :)

 

0
gadjov avatar gadjov 115 Точки

Един съвет от мен не се задоволявай с това само да работи,  но да не знаеш как и защо. Като не разбираш нещо, дебъгвай и разглеждай кое как точно функционира. По важното е да разбереш как точно работи и ако нещо те мъчи винаги можеш да попиташ във форума ;) 

Поздрави и хубава вечер! 

0
20/05/2017 22:53:58
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.