Относно задачата за пресмятане на лице на правоъгълник
Здравейте, във 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);
}
}
}
Правилно. Нямаш право да извеждаш допълнителен текст, макар и да изглежда по-готино за крайния потребител.
Това е ограничение на автоматизираното оценяване.
Наков
Благодаря много и на двамата :)) Получи се. Сега се мъча с квадратчетата от звездички :)
Успех :) Ако ти потрябва помощ само кажи :)
Привет!
Това означава ли, че единственият вариант, който автоматизираното оценяване ще приеме за верен, е:
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
Console.WriteLine(a*b);
?
Тъй като не съвпада с условието да се използва кода:
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
този метод долу ще бъде ли приет за верен:
static double GetRectangleArea(double width, double height)
{
double area = width * height;
return area;
}
И последно, каква е разликата между горните и тeзи 2-та:
1:
class CalcAvgPerc
{
public float length, breadth, radius, side, hieght, breadthfortriangle;
static void Main(string[] args)
{
CalcAvgPerc a = new CalcAvgPerc();
a.Rectangle();
Console.ReadKey();
}
public void Rectangle()
{
Console.WriteLine("Enter the Length for Rectangle");
length = float.Parse(Console.ReadLine());
Console.WriteLine("Enter the breadth for Rectangle");
breadth = float.Parse(Console.ReadLine());
System.Threading.Thread.Sleep(2000);
Console.WriteLine("Area of rectangle is :{0}", length * breadth);
}
}
2:
class
AreaRectangle
{
static
void
Main()
{
//Rectangle Area: A (area) = L (length) x W (width)
Console.Write(
"Please write the length of your rectangle: "
);
decimal
lengthSide =
decimal
.Parse(Console.ReadLine());
Console.Write(
"Please write the width of your rectangle: "
);
decimal
widthSide =
decimal
.Parse(Console.ReadLine());
decimal
area = lengthSide * widthSide;
Console.WriteLine(
"The area of your rectangle is: {0}"
, area);
}
}
Сигурно спамя, съжелявам :), нов съм и доста слабо се ориентирам. Продължавам да чета и търся.
Освен този код
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
Console.WriteLine(a*b);
Мисля, че може да приемие подобен.. примерно
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
var calculate = a * b;
Console.WriteLine(calculate);
Разбира се не съм сигурен, защото не съм го пробвал , но така ми идва по интуиция.
За разликата между двата кода , които си дал - 1 и 2 на този етап аз лично не мога да ти помогна, защото е извън знанията ми на този етап. Особено за първият вариант. Прилича ми много по-сложно написано, отколкото всъщност трябва да е. Освен това ако не съ лъжа ми прилича все едно е използвано обектно програмиране, от което нямам представа, но със сигурност друг опитен колега ще ти каже каква е разликата между 1 и 2.
По принцип хубавото на judje системата, до колкото от скоро я използвам е , че примерно ако ти даде 0 точки и е грешно решението , можеш да кликнеш върху бутона детайлй. Там със зелено ти отбелязва къде е проблемът и е много удобно да се проследи грешката.
Вторият вариант според мен judje ще го отсъди за грешно решение заради следните редове
Console.Write(
"Please write the length of your rectangle: "
);
Console.WriteLine("Enter the breadth for Rectangle");
Благодаря ;)
Здравейте!
Да използвам темата да попитам за моето решение
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
var area = a * b;
{
Console.WriteLine(area);
}
Стартирам с Ф5 и като въведа стойности за А и Б и не мога да пресметна лицето.
Къде се крие проблемът? Благодаря предварително!
Според мен проблемът е в тези къдрави скоби. Опитай да без тях и кажи дали се е получило :) Успех
1.То прави пресмятането , но се затваря конзолата веднага , за това ctrl+F5
2.Console.WriteLine-a няма смисъл да е в {}
3.Недей да ползваш var, ами конкретен тип
:)
Raging,
Предполагам, че използва var, защото в петък ни беше първата лекция и не сме взели все още типовете данни. И примера беше започнал с var променлива.
Тоест имахме а и б и те бяха в променливи var.
Съгласиме :)
Да, все още не съм наясно с типовете и действам по указанието от задачата. Ще пробвам да махна къдравите скоби и ще докладвам.
Edit - Грешката ми сигурно е елементарна, но аз си въвеждах а=3, b=4 и като натисна ентер ми изписваше Unhandled Exception. Сега въвеждам само числата и всичко си е както трябва :)
Благодаря ви!
И за да видиш резултата използвай това, което Raging написа , защото е прав. Не само F5 ами Ctrl+F5. Така ще видиш и резултата.
Да, да Ctrl+F5 използвам, но явно не съм написала това :):):)
10х
Добре, краткият текст му рабирам логиката, но как го проверяваме дали работи без judge системата?
Опс, сега го намерих, въвеждаш "а", на нов ред "б" и Enter. Аз въвеждах на един ред и ми даваше грешка.
Добре, аз опитах по сумати различни начини и не ми се получи, при което вече написах дословно този твой код- пак не ми го приема (независимо в какъв вариант е, съкратен или не). И дори не ми дава Х, както обикновено прави при грешки в кода, а само "Грешка при компилация". Oh, God!
Здравей :) На мен проблеми с компилацията ми дава, когато не въведа целият код, примерно ако въведа само
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
Console.WriteLine(a*b);
ще изписка , че не може да се компилира, затова
using System;
class RectangleArea
{
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
Console.WriteLine(a*b);
}
така би трябвало да компилира
Не става и това е. Благодаря все пак, че се опита :D
Ако искаш ми напиши тук като съобщение абсолютно точно какво пишеш
и ще вляза в judge-системата и ще го тествам отново :)
Ако се наложи и клипче мога да направя
Пробвах по следните начини:
namespace RectangleArea
{
class Program
{
static void Main(string[] args)
{
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
Console.WriteLine( a * b );
}
}
}
също и без допълнителните отгоре и отдолу неща, макар че ти каза, че без тях по-скоро няма да се получи, е- беше прав; също и Console.WriteLine(a*b); без интервалите, които има в първия пример; също и горните примери, които сте изписали.....
using System;
class RectangleArea
{
static void Main()
{
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
Console.WriteLine( a * b );
}
}
И бъди сигурна , че го paste тук https://judge.softuni.bg/Contests/Practice/Index/150#4
Ей, най-накрая! Благодаря супер много, ама защо на конзолата ми се получава по моите начини, а тук не? Аз така никога няма да успявам да си правя домашните ако са в judge-a :D
Според мен сега когато сме начинаещи е хубаво да ни е по-чист кода. Искам да кажа:
Пробвах по следните начини:
->тук липсва нещо много важно using System;
namespace RectangleArea -> namespace е излишен на този етап
{
class Program
{
static void Main(string[] args) -> Маin може да е празен , тоест static void Main.
{
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
Console.WriteLine( a * b );
}
}
}
Примерно аз когато почвам да решавам задача и си отварям нов файл.. първо трия всичко в него и почвам така
using System;
class Име_На_Задачата
{
static void Main()
{
}
}
виждаш ли колко е изчистено. А другите неща на този етап са ни напълно ненужни. А лично смятам , че преди малко понежи си изпуснала using System; ти е създало главоболията :) Надявам се това да ти помогне :)
Ох,да. То просто си стой най-отгоре в кода и аз абсолютно се абстрахирам от наличието му, ще почна и аз да си го пиша да не го забравям.
Да и според мен е най-добре така :) А то е много важно, защото чрез using ти му казваш каква библиотека да използва.
Без библиотеката System , jugdе-а или който и да е компилатор не може да използва Console.Readline(); или пък
Console.Writeline(); , защото техните дефиниции се намират в System, и без using System, не може да се разпознаят.
Разбира се има още много и най-различни библиотеки с функции , които рано или късно може би ще ти се наложи да използваш
и затова мисля че сега е най-важно да свикнеш да ги вмъкваш.
Няма значение от самият код. може и 500 реда да изпишеш въпроса е изхода да ти бъде във формата в който се изисква и да бъде без излишни неща.
Здравейте,
Относно задачата за лице на правоъгълник, когато въведа кода, и натисна ctrl+F5, ми излиза празен черен екран и не мога да разбера дали е правилно или не. Ето кода:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
Console.WriteLine(a * b);
}
}
}
Здравейте!
Да, аз също срещнах трудности, което е нормално за абсолютен лаик като мен. И да, аз също - както и други са писали, че се чувствали не на място, вземайки на готово код. След няколко опита, част от които минах през "Съдията", въпреки червените индикации за грешка във Visual Studio, накрая ми светна "дзилену".
Но имам и питане - Защо имам чувството, че тази задача ми стои недоправена? Може би, защото е... ;) Идва от това, че "Напишете C# програма, която прочита от конзолата две числа a и b, пресмята и отпечатва лицето на правоъгълник със страни a и b. " няма никакво пресмятане, колкото и да се опитвам да пиша числата...
Поздрави!
Здравейте , прочетох всичките ви коментари и пробвах всяко едно нещо(явно някъде бъркам). Та всеки път ми излиза грещка "No overload for method 'ReadLine' takes 1 arguments" . Днес ми беше първата лекция(сиреч съм нов). Извинявам се и помагайте/насочвайте :)
using System;
namespace RectangleArea
{
class Program
{
static void Main(string[] args)
{
decimal a = decimal.Parse(Console.ReadLine());
decimal b = decimal.Parse(Console.ReadLine());
decimal Area = a * b;
Console.WriteLine(Area);
}
}
}
@emilgoshev , когато натиснеш Ctrl + F5 и ти излезне конзлата просто въведи две числа, като след всяко натискаш enter и ще получиш отговор и ще разбереш дали работи или не.
Доста полезен пост за справяне с първото домашно :) Благодаря :)
Чувствам се като пълен идиот. Правя кода и ми тръгва, но как или по-точно къде трябва да въведа числата, за да получа отговора за лицето? Въвеждам ги в скобите на Console.ReadLine() и ми излиза грешка. Къде бъркам?
Ааа то с * аз не се сетих, че е звезда :). Мерси !
Аз го нашисах
var a = decimal.Parse(Console.ReadLine());
var b = decimal.Parse(Console.ReadLine());
Console.WriteLine(a);
Console.WriteLine(b);
Здравейте, благодарение на форума реших последната задача . благодарско
using System;
public class Program
{
public static void Main()
{
Console.WriteLine("Triangle area formula = a * b = c");
Console.WriteLine();
Console.WriteLine("To have result you must fill value of two sides of triangle");
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Length of side a = ");
double a = double.Parse(Console.ReadLine());
Console.WriteLine("Length of side b = ");
double b = double.Parse(Console.ReadLine());
var area = (a * b);
Console.Write("Triangle Аrеа is = ");
Console.WriteLine(area);
}
}