Професионална програма
Loading...
+ Нов въпрос
Kitanov.Ivaylo avatar Kitanov.Ivaylo 1 Точки

Проблем при задача 5.Java /Programming Basics Exam - 05 November 2017

Здравейте,

Ще съм много благодарен ако някой може да прегледа кода и да каже защо Judge дава 10/100.

Проверих с Diff Checker и всичко изглежда еднакво със всички примерни входове дадени в задачата.

Благодаря предварително!

Ето и кода:

 

https://pastebin.com/Tf2dedP7

0
Programming Basics with C#
NikolayNeykov92 avatar NikolayNeykov92 617 Точки

Здравей,

грешката ти е при изчисляването на броя на редовете под реда на който пише JAVA

ето поправка на кода ти:

 

using System;

namespace Java
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());

            int hight = 3 * n + 1;
            int width = 3 * n + 6;

            char simbolCon = '~';
            char blank = ' ';
            char simbolEqual = '=';
            char pipe = '|';
            char simbolKl = '@';
            char pipeLeft = '\\';
            char pipeRight = '/';

            for (int i = 0; i < n; i++)
            {
                Console.WriteLine(new string(blank, n) + simbolCon + blank + simbolCon + blank + simbolCon);
            }
            Console.WriteLine(new string(simbolEqual, width - 1));

            for (int i = 0; i < n / 2 - 1; i++)
            {
                Console.WriteLine(pipe + new string(simbolCon, n - 1) + new string(simbolCon, 6) + new string(simbolCon, n - 1) + pipe + new string(blank, n - 1) + pipe);
            }

            Console.WriteLine(pipe + new string(simbolCon, n) + "JAVA" + new string(simbolCon, n) + pipe + new string(blank, n - 1) + pipe);
            int rowLimit = n % 2 == 0 ? n / 2 - 2 : n / 2 - 1;
            for (int i = 0; i < rowLimit; i++)
            {
                Console.WriteLine(pipe + new string(simbolCon, n - 1) + new string(simbolCon, 6) + new string(simbolCon, n - 1) + pipe + new string(blank, n - 1) + pipe);
            }

            Console.WriteLine(new string(simbolEqual, width - 1));

            int goRight = n;
            int spaces = 0;

            for (int i = 0; i < n; i++)
            {
                Console.WriteLine(new string(blank, spaces) + pipeLeft + new string(simbolKl, goRight) + new string(simbolKl, 4) + new string(simbolKl, goRight) + pipeRight);
                goRight--;
                spaces++;
            }
            Console.WriteLine(new string(simbolEqual, n * 2 + 6));
        }
    }
}

В зависимост от това дали въвденото число е четно или нечетно редовете под JAVA са

за четно : n / 2 - 2

за нечетно: n / 2 - 1

0
03/07/2018 17:03:21