Софтуерно Инженерство
Loading...
lyubamarinova avatar lyubamarinova 14 Точки

Programming basics - март 2016 - Kвадрат от звездички

Здравейте

За тази задача от домашната , написахследното решение:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Square_of_Stars
{
    class SquareOfStars
    {
        static void Main(string[] args)
        {
            int a = int.Parse(Console.ReadLine());
            if (a == 3)
            {
                Console.WriteLine("***");
                Console.WriteLine("* *");
                Console.WriteLine("***");
            }
            if ( a == 4)
            {
                Console.WriteLine("****");
                Console.WriteLine("* *");
                Console.WriteLine("* *");
                Console.WriteLine("****");
            }
            if ( a == 5)
            {
                Console.WriteLine("*****");
                Console.WriteLine("* *");
                Console.WriteLine("* *");
                Console.WriteLine("* *");
                Console.WriteLine("*****");
             }
            else
            {
                Console.WriteLine("Not valid number");
            }
    
            }
        }
    }

           Във Visual Studio всичко си работи добре , но Judge системата ми дава 0 точки.Задължително ли е задачата да се реши с цикъла "for" и заради това ли Judge системата не ми дава точки?

 

Тагове:
Shirdor avatar Shirdor 130 Точки

Аз бих я направил така

int a = int.Parse(Console.ReadLine());

Console.WriteLine("{0}", new string('*', a));

     for (int i = 0; i < a - 2; i++)
                {
                    Console.WriteLine("{0}{1}{0}", new string('*', a), new string(' ', a - 2));
                }

Console.WriteLine(new string('*', a));

0
borislav9212 avatar borislav9212 745 Точки

Само не разбирам, защо слагаш " Place holderi ". Може ли да ми обясниш? Това което си написал в момента изкарва на конзолата два квадрата с тези " Place holderi " , първият е правилен n x n звездички а от втория няма нужда в тази задача(който е n колони и n - 2 реда) и Judge няма да я приеме за вярна. Ако ги махнеш тези " Place holderi ", задачата става вярна. Тази задача, която обсъждаме в момента е квадрат от звездички(запълнен със звездички), а на нея и трябва вътрешността на квадрата да е празна, последната задача от First Steps In Coding, тоест кода който дадох по горе.

0
Shirdor avatar Shirdor 130 Точки

Объркал съм във фора. Там където е Console.WriteLine();трябва да е Console.WriteLine("{0}{1}{0}", new string('*',1), new string(' ',a-2)) a placeholder арите ги ползвм за да не пиша три пъти нов стринг

2
borislav9212 avatar borislav9212 745 Точки

Една грешка променя цалата задача, Благодаря за пояснението. до този момент не бях решавал задачи с чертаене, в които, в new string да използвам placeholder. Научих нещо ново.

0