Как се прави квадрат от звездички
Напишете 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('*');
Ето ти и двете решения който ти обясних: