Programming Basics January 2019 - Въпроси
Здравейте. В книгата "Основи на програмирането със C#" от 2018 година на страница 47 има една задача да се направи квадрат от звездички, условието на задачата е:
Да се напише C# конзолна програма, която прочита от конзолата цяло положително число n и отпечатва на конзолата квадрат от n звездички.
Като подсказка е дадено това:
static void Main()
{
var n = int.Parse(Console.ReadLine());
//TODO: Принтирайте правоъгълника
}
Може ли някой да ми обясни по-простичко задачата и да ми каже какво се очаква да последва TODO коментара, тъй като пробвах по много начини и така и не ми се принтира квадрата в конзолата? Включително и готови решения с други кодове от интернет не ми сработват, като нямам никъде подчертавания за грешки и конзолата се отваря, просто няма нищо принтирано, само чертичката си мига.
Открих други работещи кодове, но ми беше интересно този с var от книгата как точно работи. Идеята е като се напише например 5 в конзолата, да излязат по 5 звездички на първия и последния ред, да има 5 реда, но да не е запълнен със звездички правоъгълника. Трябва да изглежда така:
*****
* *
* *
* *
*****
(Ако използваме числото 5, като съответно ако е друго число, трябва звездичките на първи и последен ред, както и самите редове да отговарят на самото число).
Ето го моя код:
using System;
namespace SquareFromNStars
{
class SquareFromNStars
{
static void Main()
{
var n = int.Parse(Console.ReadLine());
Console.WriteLine(new string('*', n));
for (int i = 0; i < n - 2; i++)
Console.WriteLine('*' + new string(' ', n - 2) + '*');
Console.WriteLine(new string('*', n));
}
}
}
е какво сложно има просто правят for цикъл, за вътрешните редове и вътре екстраполират стринга и записват новата поредица
слагат звездите в 2та края и за това space-a e n-2 им се получава, дефакто компилатора разчита така кода. при число 5
*****
* space space space *
* space space space *
* space space space *
*****
каквото и число да сложиш ще стане винаги същото.малко са hardcode-нали първия и последния ред но не е болка за умиране има как да се направи и те да са в цикъла. с 2 if проверки