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

* Задача: квадрат от звездички

Незнам как да направя това с for цикъл?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Тестове
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("***");
            Console.WriteLine("* *");
            Console.WriteLine("***");
        }
    }
}

Тагове:
0
Open Courses
SlavyanaChonovska avatar SlavyanaChonovska 48 Точки

Прегледай тази тема, доколкото разбирам става въпрос за същата задача. :) 

0
clipro avatar clipro 73 Точки

Това е доста приятна задача за начинаещи. Това е моето решение. Не е самата красота, но работи ефикасно и ми даде 100 точки в системата.

В линкната тема SlavyanaChonovska предлага едно доста по-чисто решение на "пълния" ред със звездички https://pastebin.com/cey11i6r

Аз го реших с двоен лууп, но new string от нейното решение е далеч по-елегантно

 

using System;

namespace _00_ConsoleApp1
{
    class Program
    {

        static void Main()
        {
            // Get user input
            var n = int.Parse(Console.ReadLine());

            // Prepare the row
            int i = 0;
            string row = "";

            for (;i < n; i++)
            {
                row = row + "*";
            }

            // Print the first row
            Console.WriteLine(row);

            // Print the both sides of the rectangle
            i = 2;

            for (;i < n; i++)
            {
                int ii = 0;
                string sides = "*";

                for (; ii < (n - 2); ii++)
                {
                    sides = sides + " ";
                }

                sides = sides + "*";

                Console.WriteLine(sides);
            }

            // Print the last row
            Console.WriteLine(row);
        }
    }
}

0
EricDraven avatar EricDraven 275 Точки

ако само това се иска от задачата, нямаш нужда от цикъл, виж ако искат квадрат по динамично зададен размер, тогава вече е друго, пусни условието ако искаш и ще видим как ще е най добре да се направи

0
07/10/2018 19:23:46
clipro avatar clipro 73 Точки

Условието е в книгата за начинаещи - Задача: квадрат от звездички

Размерът на квадрата се задава от "потребител" през конзолата т.е. е динамичен. Сигурен съм, че може да се реши и по-елегантно от два цикъла един в друг, но като за първи стъпки в C# толкова можах да измисля. Ще се радвам да видя и друго решение

 

 

0
EricDraven avatar EricDraven 275 Точки

Разгледайте Това, може да ви хареса

0
07/10/2018 19:58:32
clipro avatar clipro 73 Точки

Много интересно и полезно решение! Благодаря! За съжаление още не мога да гласувам.

Аз тъкмо намерих друг вариант, по който да реша задачата - благодарение на идеята да не използвам толкова цикли

https://pastebin.com/qLMiDspj

Не знаех, че мога да добавя нов ред в стринг, но с малко ровене открих Environment.NewLine

 

 

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