Loading...
SvilenPavlov avatar SvilenPavlov 11 Точки

Rhombus of Stars и чертане на фигурки с for

Здравейте!

В курса программинг бейсикс,в 6-ти урок има упражнение да нарисуваме ромб от звездички. В упътването се казва Отпечатайте row-1 пъти “ *” Да де, ама със Console.Write(new string()) не става, защото приема само char, а " *" е стринг, има 2 символа. Как да го направя, не намерих  в гооглиту. Тенкс ин адванс!

0
Programming Basics 14/06/2016 13:28:50
KrasimirPetkov avatar KrasimirPetkov 328 Точки

Ако искаш да направиш new string(), като използваш повече от 1 символ (в твоя случай "* "), можеш да опиташ следното:

string s = new string('s', n).Replace("s","* ");

По този начин се създава стринг, който съдържа даден символ (в случая съм използвал 's'), а с командата Replace(), той се подменя навсякъде със string-a, който си задал.

Ето и кратко решение на задачата (аз използвам substring и placeholder-и, които най-вероятно още не сте ги учили, но ако провериш в интернет ще разбереш лесно кое какво прави): http://pastebin.com/775qFGi1

В общи линии при моето решение, още в самото начало създавам един дълъг string от "* ", а после с for циклите отпечатвам части от string-а и празни места пред тях.

Ако не разбираш нещо от кода, а ти е интересно как работи - питай и ще обяснявам.

Успех!

1
14/06/2016 15:59:51
Perss avatar Perss 7 Точки

Като рънна кода и ми изписва "Unexpected character '$'" ? Какво е това $ ?

0
KrasimirPetkov avatar KrasimirPetkov 328 Точки

Здравей, знакът "$" се използва за string interpolation. Можеш да разгледаш примери тук: http://www.dotnetperls.com/string-interpolation . Като цяло идеята му е да позволи да се добави стойността на променлива/уравнение/др. в string. Друг вариант е да се използва placeholder от типа на "{0}" или concatenation с "+". Пример:

int a = 5;

Console.WriteLine("The value of a is: {0}", a);
// Резултат: "The value of a is: 5"

Console.WriteLine($"The value of a is: {a}");
// Резултат: "The value of a is: 5"

Console.WriteLine("The value of a is: " + a);
// Резултат: "The value of a is: 5"

Доколкото съм запознат, "$" е добавено в C# 6.0 (Visual Studio 2015+), така че при по-стари версии може да даде грешка.

В Judge работи безпроблемно.

Успех!

0
rumyn avatar rumyn 8 Точки

Вие сте злато ! даже и го разбрах кода на това http://pastebin.com/775qFGi1   :) със излъгването на ню стринг да приеме няколко символа

и s.Substring като си поиграх малко го разбрах и него , май

Благодаря!

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