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

Programming Basics January 2019 - Въпроси

Здравейте. В книгата "Основи на програмирането със C#" от 2018 година на страница 47 има една задача да се направи квадрат от звездички, условието на задачата е: 

Да се напише C# конзолна програма, която прочита от конзолата цяло положително число n и отпечатва на конзолата квадрат от n звездички.

Като подсказка е дадено това:

static void Main()

{

         var n = int.Parse(Console.ReadLine());

 

         //TODO: Принтирайте правоъгълника

}

Може ли някой да ми обясни по-простичко задачата и да ми каже какво се очаква да последва TODO коментара, тъй като пробвах по много начини и така и не ми се принтира квадрата в конзолата? Включително и готови решения с други кодове от интернет не ми сработват, като нямам никъде подчертавания за грешки и конзолата се отваря, просто няма нищо принтирано, само чертичката си мига. 

Тагове:
0
Programming Basics
VasilKotsev avatar VasilKotsev 830 Точки

Здравей, нямам възможност да търся условието, но ако става дума за квадрат ще ти трябват цикли.

using System;

public class StartUp
{
	public static void Main()
	{
		int sizeOfSquare = int.Parse(Console.ReadLine());
		
		for(int index = 0; index < sizeOfSquare; index++)
		{
			string output = new string('*', sizeOfSquare);
			Console.WriteLine(output);
		}
	}
}

 

0
07/01/2019 11:07:28
Vardanss avatar Vardanss 0 Точки

Открих други работещи кодове, но ми беше интересно този с 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));

        }
    }
}

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

е какво сложно има просто правят for цикъл, за вътрешните редове и вътре екстраполират стринга и записват новата поредица

слагат звездите в 2та края и за това  space-a e n-2 им се получава, дефакто компилатора разчита така кода. при число 5

*****

* space space space *

* space space space *

* space space space *

*****

каквото и число да сложиш ще стане винаги същото.малко са hardcode-нали първия и последния ред но не е болка за умиране има как да се направи и те да са в цикъла. с 2 if проверки

 

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