Как се прави квадрат от звездички
Напишете C# конзолна програма, която прочита от конзолата цяло положително число N и отпечатва на конзолата квадрат от N звездички
Напишете C# конзолна програма, която прочита от конзолата цяло положително число N и отпечатва на конзолата квадрат от N звездички
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));
        }
    }
}
 
Със 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();
}
        }
    }
}
 
И тва се очаква да го знам от една лекция ?!? :D
Зависи колко си мотивиран...
На 2рата страница във Основи на програмирането има всички задачи от 1вото домашно решени
https://softuni.bg/forum/10156/otgovori-first-steps-in-coding
Има много начини да го направиш..... Разгледай примерите които ще ти сложат колегите, но се опитай да разбереш какво прави кода който ще видиш.
Аз изпратих това решение:
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 системата не го хареса.
Нормално. judge очаква стриктен резултат. Един интервал или точка разлика в текста който печатиш ако има пак ти дава грешка.
Малко по-кратко решение. Аз все още съм начинаещ и се уча от видеата и лекциите.
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));
        }
    }
}
А ето го и моето решение:
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();
            }          
        }
    }
}
Взаимствах от едно решение на С
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);
        }
        
    }
}
Здравей,
За черането на задачи с фигурки , първо трябва да видиш каква е формулата, което се вижда в примерите показани на задачата.
Първо ти трябва едно число N което да прочетеш от конзолата. След това гледаш фигурите дадени в примерите и виждаш, че първият и последният ред са статични, тоест състоят се от N звездички въртиш един for цикъл за тях или със new string, както си избереш.
След това откриваш,че средната част ти е n - 2 звездички, въртиш един цикъл до n - 2 и вътре,ако я правиш с new string въвеждаш една зеездияка и n - 2 space и още една звездичка.Ако го правиеш с цикли четеш в цикъла n - 2 - първата колона звездички Console.Write('*'); въртиш втори вложен цикъл пак до n - 2, този път за space, след което пак въвеждаш последната колона от звездички Console.Write('*');
Ето ти и двете решения който ти обясних: