Софтуерно Инженерство
Loading...
+ Нов въпрос
vessydi avatar vessydi 9 Точки

Относно задачата за пресмятане на лице на правоъгълник

Здравейте, във Visual Studio, кода сработи, но като го изпратя в системата на СофтУни, излиза, че е грешно. Може ли малко помощ как да го направя и къде бъркам? Благодаря предварително.

Ето го моя код: 

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

namespace Rectanglesssss
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter Length Of A Rectangle:");
            var a = decimal.Parse(Console.ReadLine());
            Console.WriteLine("Enter Width Of A Rectangle:");
            var b = decimal.Parse(Console.ReadLine());
            Console.WriteLine("Rectangle Area is");
            var area = (a * b);

            Console.WriteLine(area);
           
       


        }
    }
}

r3v3nan7 avatar r3v3nan7 364 Точки

Ами като прегледах кода , изглежда че judge системата отчита като грешка изписаният на конзолата текст

Enter Length Of A Rectangle:
Enter Width Of A Rectangle:
Rectangle Area is

Ако желаеш опитай вместо 

 Console.WriteLine("Enter Length Of A Rectangle:");
            var a = decimal.Parse(Console.ReadLine());
            Console.WriteLine("Enter Width Of A Rectangle:");
            var b = decimal.Parse(Console.ReadLine());
            Console.WriteLine("Rectangle Area is");
            var area = (a * b);

            Console.WriteLine(area);

 

 

направо ето така без излишен текст

 

        var a = decimal.Parse(Console.ReadLine());
        var b = decimal.Parse(Console.ReadLine());
        Console.WriteLine(a*b);

 

Надявам се да ти помогне. Между другото да знаеш , че когато си изпратиш кода за проверка в една от графите пише детайли. Като кликнеш там  обикновенно ти дава какви са проблемите. Това е полезно и може много да ти помогне да разбереш какъв е проблемът. Надявам се да съм ти помогнал. Успех :)

7
nakov avatar nakov SoftUni Team Trainer 5456 Точки

Правилно. Нямаш право да извеждаш допълнителен текст, макар и да изглежда по-готино за крайния потребител.

Това е ограничение на автоматизираното оценяване.

Наков

10
vessydi avatar vessydi 9 Точки

Благодаря много и на двамата :)) Получи се. Сега се мъча с квадратчетата от звездички :) 

3
r3v3nan7 avatar r3v3nan7 364 Точки

Успех :) Ако ти потрябва помощ само кажи :) 

4
vessydi avatar vessydi 9 Точки

Много се извинявам, но и с квадрата от звездички нещо не се справям. Може ли малко насоки? Пробвах с for loop, но нещо не правя правилно :(

1
VladislavIliev avatar VladislavIliev 5 Точки

Можеш ли да ми дадеш линк към файла с условието, че нещо в Judge не мога да го намеря.

0
VladislavIliev avatar VladislavIliev 5 Точки

Колкото и странно да звучи, в задачките с рисуване най-важното е да можеш да броиш. Разглеждай добре дадените примери и прави закономерности колко символа се изписват и в каква последователност. Броят на дадена последователност от символи обикновено се смята чрез n/2 +- ... или n-...

Най-често първият и последният ред са отделни по логика и се правят отделно.

Изключително важно е да използваш функцията new string('x',n) (където x e символ, а n е колко пъти да се изпише), когато изрисуваш символи по няколко пъти на ред.

using System;

class Program
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());

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

    }
}

В случая съм използвал няколко пъти функцията WriteLine за по-добра нагледност на кода. В такива кратки задачи това няма да бъде проблем, но в по-тежките се старай да слепваш стрингове в един WriteLine, за да се изпълнява програмката по-бързо.

4
17/01/2016 23:02:54
pmpeev avatar pmpeev 22 Точки

Здравей,

при оценяването на задачата за лице на правоъгълник Judge системата не гледа с добро око на редовете за приканване на потребителя да въведе стойност (в твоя случай            Console.WriteLine("Enter Length Of A Rectangle:"); и Console.WriteLine("Enter Width Of A Rectangle:");). Пробвай без тях и решението ти трябва да бъде прието. Освен това, за тази програмка нямаш нужда от using System.Collections.Generic; using System.Linq; using System.Text; и using System.Threading.Tasks;, както и от string[] args.

1
brsv86 avatar brsv86 2 Точки

Здравейте,

В петък беше първата лекция от Basic програмата. Тъй като започвам от а и б в програмирането, задачките с откриването лице на правоъгълник и квадрата от звездички са ми непосилни. Знам, че пише да допишем кода, но в момента се чувствам като идиот.. :/

1
r3v3nan7 avatar r3v3nan7 364 Точки

Здравей колега brsv86 :)  И на мен в петък ми беше първата лецкия и вероятно и аз се чувствам като теб :) Не си сам.. 

Я сподели кое те затруднява да видим с дали и с какво мога да помогна. Моите знания също са твърде базови и скромни на този етап , но това не пречи да се опитам да ти помогна :) 

3
pmpeev avatar pmpeev 22 Точки

Горе главата - подобни затруднения трябва само да те мотивират да ги преодолееш. Нормално е в началото да не схващаш всичко - затова са менторите, форумът, книгата "Въведение в програмирането със C#" и безкрайният интернет. Питай, търси информация и не се страхувай да грешиш. За нула време ще започнеш да пишеш работещ код. Като карането на колело е - в началото като се учиш може и да загубиш баланс и да паднеш, но в крайна сметка неусетно се научаваш. 

4
nakov avatar nakov SoftUni Team Trainer 5456 Точки

Подобрихме тестинг системата и вече приема решения, които извеждат освен резултата и излишни тестове. Реално от продуцирания изход се извличат всички числа, а останалия текст се игнорира. Това важи за задачите, които имат чекер "Check Numbers Only".

Наков

7
micro991 avatar micro991 0 Точки

Аз се оптах да направя по твоя начин и завърших с следното!
 

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

namespace Square_2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter the lenghts of the rectangle");
            var a = decimal.Parse(Console.ReadLine());
            Console.WriteLine("Enter the width of the rectangle");
            var b = decimal.Parse(Console.ReadLine());
            Console.WriteLine("The area of the rectangle is ");
            var c = a * b;
            Console.WriteLine(c);
        


        }
    }
}
 

Системата на Judge ми прие отговора за верен!

П.С. : Не бях видял, че вече са подобрили системата :)

0
27/08/2016 17:14:13
Aidarov avatar Aidarov 12 Точки

Здравейте! Искам да предложа своят вариант за решение на задачата. Системата го прие за правилен:

 

using System;

namespace Rectangle
{
    class Rectangle
    {
        static void Main()
        {
            var a = decimal.Parse(Console.ReadLine());
            var b = decimal.Parse(Console.ReadLine());
            Console.WriteLine(a*b);
        }
    }

}
Поздрави!

0
markoff avatar markoff 3 Точки

Явно системата на Judge, вече работи и с текстовете ореантиращи потребителя, какво се иска от него, въпреки че, идеята е да се наблегне на самия код. Окрасяването е допълнителен елемент и всеки може да си го направи както иска, без да се отрази на съществената работа на кода.

0
Iliev88 avatar Iliev88 39 Точки

Здравейте и от мен!

Моето решение е подобно, като се опитах да изпълня и заданието "да проверява". Обаче забелязвам, че ако напиша отрицателна стойност за някоя от страните, програмата си смята и получва отрицателно лице, което е мека казано идиотско. Решението на това може би ще дойде от вида на променливата, но съм още доста бос и си ползвам "decimal".

namespace RectangleArea
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                var a = decimal.Parse(Console.ReadLine());
                var b = decimal.Parse(Console.ReadLine());
                var area = a * b;
                Console.WriteLine(area);
            }
            catch (Exception)
            {
                Console.WriteLine("error");
            }
        }
    }
}

 

Това ми даде 100 точки в Judge.

 

0