Задача 6: Квадрат от звездички (C#)
Първи стъпки в програмирането
Как се решава т'ва чудо! :) Моля помогнете.
Първи стъпки в програмирането
Как се решава т'ва чудо! :) Моля помогнете.
Здравей,
Първо прочиташ от конзолата едно число -> var n = int.Parse(Console.ReadLine());, след това печаташ " n " на брой звездички за първия ред, изпозваш " new string " с него е по лесно -> Console.WriteLine(new string('*', n)); . Въртиш един цикъл за вътрешността на квадрата -> for (int i = 0; i < n - 2; i++), до n-2; и в него печатиш '*', n-2 space и последната '*'. -> Console.WriteLine('*' + new string(' ', n - 2) + '*'); и накрая пак печатиш посления ред от n звездички -> Console.WriteLine(new string('*', n)); Дано съм успял да ти помогна. Успех!
Може ли да бъдеш малко по- конкретен за коя задача става дума, защото така нищо не се разбира.
Примерно от коя домашна?
Промених заглавието... сега по-добре ли е?
Най-добре е да даваш линк с условията на задачите когато искаш помощ.
С for цикъл и стрингове се решава. Печаташ пръвия ред като стринг, после въртиш цикъл за следващите редове до предпоследния и накрая пак същия ред като първия. А може първия и последния също с for цикли. Прочети за цикли.
След дълго търсене открих за коя задача питаш.
Тази задача по мое мнение се прави с един for цикъл, който се върти до въведеното от конзолата число(N). В него се пише един Console.WriteLine(), в който се използват т. нар. placeholder-и (в случая само един). В него пишеш следното:
,ако позицията от цикъла е равна на 0 или на N - 1 искаме да се отпечатат "*" N-2 броя или "(space)" отново N-2 броя. Иначе казано, нещо подобно.
Това е.
Успех с ученето! :)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Program
{
class Program
{
static void Main(string[] args)
{
var 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('*' + new string(' ', n - 2) + '*');
}
}
}
}
Със String конструктора става най-лесно (Виж примерите тук: https://www.dotnetperls.com/string-constructor)
using System;
namespace SquareOfStars
{
class Program
{
static void Main(string[] args)
{
var n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
if (i == 1 || i == n) Console.WriteLine(new string('*', n));
else Console.WriteLine("*{0}*", new string(' ', n - 2));
}
}
}
}
Това е моят вариант, само че е писан на java:
http://pastebin.com/XpC8khEz
Предполагам че ще стане ясно като логика и ще може да си го напишеш на С#