Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

simeon.mihaylov95 avatar simeon.mihaylov95 18 Точки
Best Answer

using System;

class MainClass
{
    public static void Main ()
    {
        int N = int.Parse (Console.ReadLine ());
        for (int i = 0; i < N; i++) 
        {
            if(i == 0 || i == N - 1)
                Console.WriteLine (new String('*', N));
            else
                Console.WriteLine ("*{0}*", new string(' ', N - 2));
        }
    }
}

 

0
14/06/2016 21:25:30
GeorgiItsev avatar GeorgiItsev 17 Точки

Със for цикли 2 на брой и if 1 на брой  сега ще ти пусна решение

using System;

namespace SquareofStars
{
    class SquareofStars
    {
        static void Main(string[] args)
        {
            var n = int.Parse(Console.ReadLine());
            char star = '*';
            for (int i = 0; i < n; i++)//вложени цикли 
            {
                for (int j = 0; j < n; j++)
                {
                    if (i == 0 || i == n - 1 || j == 0 || j == n - 1)//Проверяваме дали се намираме в началото или края тоест на index 0 или n-1 последния 
                    {
                        Console.Write(star);//печатиме "*" на нулевия или на последния
                    }
                    else
                    {
                        Console.Write(" ");//Ако сме някъде между първият и последния индекс отпечатваме празно място
                    }

                }
                Console.WriteLine();

            }

        }
    }
}
 

-2
14/06/2016 21:10:10
arkos322 avatar arkos322 -2 Точки

И тва се очаква да го знам от една лекция ?!? :D

3
Losko avatar Losko 69 Точки

Зависи колко си мотивиран...

1
Losko avatar Losko 69 Точки

Има много начини да го направиш..... Разгледай примерите които ще ти сложат колегите, но се опитай да разбереш какво  прави кода който ще видиш.

1
14/06/2016 21:10:15
BKrachev avatar BKrachev 3 Точки

Аз изпратих това решение:

 

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

namespace StarSquare
{
    class StarSquare
    {
        static void Main(string[] args)
        {
            var n = int.Parse(Console.ReadLine());
            {
                string star = new string('*', n);
                string space = new string(' ', n-2);
                Console.WriteLine(star);
                    for (int i = 1; i <= n - 2; i++)
                {
                    Console.WriteLine("*" + space + "*");
                }
                Console.WriteLine(star);
                
            }
        }
    }
}

и го прие - 100 точки. После опитах да го украся малко, като добавих в началото един ред, с който отпечатва "n =" и тогава чака да се въведе числото, след което отпечатва квадрата:

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

namespace StarSquare
{
    class StarSquare
    {
        static void Main(string[] args)
        {
            Console.Write("n = ");
            var n = int.Parse(Console.ReadLine());
            {
                string star = new string('*', n);
                string space = new string(' ', n-2);
                Console.WriteLine(star);
                    for (int i = 1; i <= n - 2; i++)
                {
                    Console.WriteLine("*" + space + "*");
                }
                Console.WriteLine(star);
                
            }
        }
    }
}

Работи във VS, но Judge системата не го хареса.

 

 

-1
Losko avatar Losko 69 Точки

Нормално. judge очаква стриктен  резултат. Един интервал или точка разлика в текста който печатиш ако има пак ти дава грешка.

2
koksibg avatar koksibg 892 Точки

Малко по-кратко решение. Аз все още съм начинаещ  и се уча от видеата и лекциите.

using System;

namespace Square_Of_The_N_Stars
{
    class Square_Of_The_N_Stars
    {
        static void Main(string[] args)
        {
            var N = int.Parse(Console.ReadLine());
            Console.WriteLine(new string('*', N));
            for (int i = 1; i <= N-2;i++)
            {
                Console.WriteLine("*" + new string(' ', N-2) + "*");
            }
            Console.WriteLine(new string('*', N));
        }
    }
}

0
15/06/2016 00:12:15
koksibg avatar koksibg 892 Точки

А ето го и моето решение:

using System;

namespace Square_of_Stars
{
    class Square_of_Stars
{
        static void Main(string[] args)
        {
            var N = int.Parse(Console.ReadLine());
            for (int i = 1; i <= N; i++)
            {
                for (int j = 1; j <= N; j++)
                {
                    if ((i != 1) && (i != N) && (j != 1) && (j != N))
                    {
                        Console.Write(" ");
                    }
                    else
                    {
                        Console.Write("*");
                    }
                }
                Console.WriteLine();
            }          
        }
    }
}

Взаимствах от едно решение на С

0
15/06/2016 00:12:08
Pilgrimage avatar Pilgrimage 515 Точки

using System;

class SquareOfStars
{
    static void Main()
    {
        var n = int.Parse(Console.ReadLine());
        if (n >= 2 && n <= 100)
        {
            string starsline = new string('*', n);
            string middleline = "*" + new string(' ', (n-2)) + "*";

            Console.WriteLine(starsline);
            for (int i = 2; i <= (n-1); i++)
            {
                Console.WriteLine(middleline);
            }
            Console.WriteLine(starsline);
        }
        
    }
}

0
borislav9212 avatar borislav9212 745 Точки

Здравей,

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

Първо ти трябва едно число N което да прочетеш от конзолата. След това гледаш фигурите дадени в примерите и виждаш, че първият и последният ред са статични, тоест състоят се от  N звездички въртиш един for цикъл за тях или със new string, както си избереш.

След това откриваш,че средната част ти е n - 2 звездички, въртиш един цикъл до n - 2 и вътре,ако я правиш с new string въвеждаш една зеездияка и n - 2 space и още една звездичка.Ако  го правиеш с цикли четеш в цикъла n - 2 - първата колона звездички Console.Write('*'); въртиш втори вложен цикъл пак до n - 2, този път за space, след което пак въвеждаш последната колона от звездички Console.Write('*');

Ето ти и двете решения който ти обясних: 

2
14/06/2016 23:35:12
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.