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

Задача Draw Fort проблем

Написах задачата, всичките входове от условието ми работят и е вярно нарисувано, но judge ми дава само 30/100, някой ако намери нещо в кода ми за грешно да споделиfrown

 

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

namespace Castle
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            var shir = n * 2 - 2;

            if (n < 5)
            Console.WriteLine("/{0}\\/{0}\\", new string ('^', n / 2) );
            else if (n >= 5)
                Console.WriteLine("/{0}\\{1}/{0}\\", new string('^', n / 2), new string ('_', n / 2));

            for (int i = 1; i <= n - 2; i++)
            {
                if (i == n - 2)
                {
                    Console.WriteLine("|{0}{1}{0}|", new string(' ', n / 2 + 1), new string('_', shir - 2 * (n / 2) - 2));
                }
                else
                    {
                    Console.WriteLine("|{0}{1}{0}|", new string(' ', n / 2), new string(' ', shir - 2 * (n / 2)));
                    }
            }
            Console.WriteLine("\\{0}/{1}\\{0}/", new string ('_', n / 2 ), new string (' ', shir - 2 * (n / 2) - 2));
        }
    }
}

 

0
Programming Basics 16/12/2017 16:47:43
RosenTheHacker avatar RosenTheHacker 7 Точки

Чудя се за какво са ти тези условия в началото ако n<5,но няма значение ето правилния код само че на java решавахме задачата на една менторска среща.

 

import java.util.Scanner;
 
public class Fort {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
 
        int n = Integer.parseInt(console.nextLine());
        int midDashes = ((2*n) - 4) - ((n/2)*2);
        System.out.println("/" + repeatStr("^", n/2) + "\\" + repeatStr("_", midDashes)
                            + "/" + repeatStr("^", n/2) + "\\");
 
        for (int i = 0; i < n - 2; i++) {
 
            if (i == (n-2) - 1){
                System.out.println("|" + repeatStr(" ", (n/2) + 1) +
                                    repeatStr("_", midDashes)
                                  + repeatStr(" ", (n/2) + 1) + "|");
            }else {
                System.out.println("|" + repeatStr(" ",(2*n) - 2) + "|");
            }
        }
 
        System.out.println("\\" + repeatStr("_", n/2) + "/" + repeatStr(" ", midDashes)
                + "\\" + repeatStr("_", n/2) + "/");
 
 
    }
 
 
 
    private static String repeatStr(String str, int count){
        String result = "";
        for (int i = 0; i < count; i++) {
            result+=str;
        }
        return result;
    }
 
}

 

 

0
denis.argatski avatar denis.argatski 25 Точки

https://pastebin.com/WCwYrU1w - мойто решение

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