Loading...

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

Samuil.Petrow avatar Samuil.Petrow 1550 Точки

[Homework] C# Basics - Console Input/Output

Лекцията може да не е минала, но щом ни пуснаха домашното трябва да го налазваме - ще е полезна темата за тези, които са имали повечко време и са стигнали до тук и са си прочели презентацията.

1. Sum of 3 Integers (Уж integers, а пък в примерите дробни числа.. тогава и ние няма да се ограничаваме до целочислени)

2. Print Company Information (правя всички телефонни номера стрингове, защото не знаем в какъв формат евентуално биха ни ги подали)

3. Circle Perimeter And Area (решение от Lyubo)

4. Number Comparer

5. Formatting Numbers (решение от Lyubo)

6. Quadratic Equation (решение от Lyubo)

7. Sum of 5 Numbers (не мога да измисля по-лесно решение в момента)

8. Numbers from 1 to n

9. Sum of N Numbers

10. Fibonacci Numbers

11. Numbers in interval dividable by given number (може да се оптимизира като се намери първият търсен елемент и после се прескача през 5 и още 1-2 проверки)

12. //TODO

52
Programming Basics 07/10/2014 21:34:09
milkokochev avatar milkokochev 10 Точки

Здравейте,

можете ли да ми помогнете със задача 17.Cath the Bits.

С нулевите тестове на мен ми тръгва, но Judge-а ми хвърля "Unhandled Exception: System.FormatException"

 
0
quickben avatar quickben 966 Точки

Колега хубаво си качил кода като хората, но напиши и един ред къде ти хвърля това изключение за да улесниш този който реши да ти помогне. Иначе аз все още ги решавам със "стрингосване"  и не мога да ти помогна много. Мога да ти пратя линк към моето решение на задачата мисля че ми даваше над 80 точки, но мисля, че няма да ти помогне много много ;)

Виж можеш да дръпнеш тази задача от секцията на миналия C# Basics и там ще намериш всички тестове които "judge"-а пуска. Комбинацията от това да имаш тестовете и да ползваш "debugger"-а ще ти е в голяма полза.
0
milkokochev avatar milkokochev 10 Точки

Даваше го на първите два нулеви теста в Judge-a, но пък сега няма проблем.....

0
milkokochev avatar milkokochev 10 Точки

Даваше го на първите два нулеви теста в Judge-a, но пък сега няма проблем.....

0
TrifonApov avatar TrifonApov SoftUni Team Trainer 131 Точки

Може вместо да вкарваш променлива за пи да използваш направо Math.Pi :)

        double r = double.Parse(Console.ReadLine());

        Console.WriteLine("The perimeter of the circle is {0:0.00}", 2 * Math.PI * r);

        Console.WriteLine("The area of the circle is {0:0.00}", Math.PI * r * r);

1
Ivan.Nikolov avatar Ivan.Nikolov 8 Точки

Да видях и този начин и ще го запомня занапред. Просто съм начинаещ с главно "Н" и .... :)

Благодаря за съвета 

1
wolfylambova avatar wolfylambova 4 Точки

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


namespace Problem_13.Work_Hours
{
 class Program   
{
static void Main()       
{           
int h = int.Parse(Console.ReadLine());           
int d = int.Parse(Console.ReadLine());           
int p = int.Parse(Console.ReadLine());
int bikingTime = d / 10;
int FinalDays = d - bikingTime;
int pInpercentage = p / 100;
int FinalProduction = FinalDays * 12 * pInpercentage;

double dif = FinalProduction - h;
dif = Math.Floor(dif);
     
 if (dif >= 0)           
{               
     Console.WriteLine("Yes");             
     Console.WriteLine(dif);           
 } 
  else           
 {         
    Console.WriteLine("No");             
    Console.WriteLine(dif);           
  }

   }
  }
}

0
07/10/2014 20:22:53
Kamigawa avatar Kamigawa 750 Точки

Ако минава през джъджа с пълни точки е това :). Една от задачите на изпита се предполага да е много по-лесна от другите, така, че не го мисли дали е лесно или не  - важно е да бъде правилен отговорът накрая. Също така входните данни като decimal май няма да свършат работа, понеже по условието на задачата:

„The number h will be an integer between 0 and 2 147 483 647, inclusive.
The number d will be an integer between 0 and 89 478 485, inclusive.“

Също така крайният резултат трябва да бъде цяло число закръглено към по-малкото (5, 99 => 5), в случея FinalProduction трябва да се разгледа като цяло число.

dif трябва да бъде обратното обаче => FinalProduction - h;

С тези промение задачата ще отговаря на условието и според мен е решена ;)

0
07/10/2014 19:58:03
wolfylambova avatar wolfylambova 4 Точки

@Kamigawa, направих корекция според съвета ти, но отново ми дава грешни резултати.

0
Kamigawa avatar Kamigawa 750 Точки

Ето какво имах в предвид с промените http://pastebin.com/cS75BNPG - при мен излизат отговорите. Не съм си играл да сменям типа на променливите на long, малко tricky може да бъде понякога.

Ето и моето решение на задачата, което мина пред джъджа с пълен резултат - http://pastebin.com/b3BNT1UQ - сигурно може да се оптимизира повече.

1
Alekscho85 avatar Alekscho85 13 Точки

Колега на 7 задача си в съвсем грешна насока. Трябва да ти събере 5-те цифри. Така както си го направил получаваш едно 5 цифрено число. Погледни задачата отново. Виж и ТУК ако желаеш.

-1
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Колега, към кой е насочено това мнение, че така без име трудно се разбира?

1
07/10/2014 23:01:59
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Колега, ако става дума за моето решение - това не е така. Стойностите се парсват преди да се съберат и програмата работи коректно. Единствен проблем би направил decimal delimiter-а от регионалните настройки. Разликата между кодът, който си дал и моята програма е, че аз ползвам decimal, а ти int, поведението е едно и също.

2
07/10/2014 23:11:29
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Samuil.Petrow понеже предположих, че визира теб, то твоето решение си работи коректно. Неговото обаче работи само с int и изобщо не отговаря на 3-тия нулев тест...

2
VyaraG avatar VyaraG 45 Точки

Здравейте :))

 

Пускам едно примерно решение на 6та задача Quadratic Equation

Mod Edit: Нарушена т. 12 от Правилата на форума: 12. Във всеки пост е позволено цитирането на не повече от 15 реда код. Ако искате да споделите по-дълъг код, използвайте сайтове като Pastebin и Github Gist).

0
22/10/2014 15:24:21
Bosco avatar Bosco 3 Точки

Искам да попитам малко по напредналите как би станало едно решение. На 8ма задача бях прочел условието грешно (...) и първоначално си мислех че програмата трябва да изпише числата в обратен ред. Решението на правилното условие е елементарно, но по обратен ред не можах да я направя и ми стана интересно как ще се реши. С break; изпива само 0 и 1, а без него цикъла става безкраен дори да е заложено && i > 0, и така и не разбрах защо го прескача. Обяснението сигурно е елементарно но аз не се сетих lol..

0
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

for (int i = n; i >= 1 ; i--)

 {

 Console.WriteLine(i);

 }

Просто завърташ от края до единицата (или до колкото ти е нужно), и вместо да увеличаваш i го намаляваш.

0
27/10/2014 11:04:31
Filkolev avatar Filkolev 4482 Точки

Дай някакъв код да видим какво точно опитваш да направиш.

В примерите към условието е показано какво се иска - ако ти се подаде 5 принтираш: 1 2 3 4 5. По-интересен е случаят, когато ти се подаде число по-малко от 1 (малко хора го съобразяват), там имаш условна конструкция и два различни цикъла, но идеята е същата.

0
Bosco avatar Bosco 3 Точки

Аз го направих така

            for (int i = 1;i <= n; i++)
            {
                Console.WriteLine(i);
            }

 

Но ако е -- влиза в безкраен цикъл. По твоя начин (copy/paste) си работи де.

0
Nexus avatar Nexus 119 Точки

Привет Колеги,

 

Моля някой да ми даде акъл как да вкарам в кода - при output "none" да изпише каквото искам аз. 

Става въпрос за 11-та задача 4-ти пример. Искам да ми изписва "-" вместо да седи празно. 

Ето решението ми до тук:

http://pastebin.com/WLLFAyTS

Поздрави,

А.

0
RoYaL avatar RoYaL Trainer 6849 Точки

Направи един булев флаг преди цикъла, който е FALSE. Ако в цикъла влезе в IF-а го променяш на TRUE. Като мине цикъла, проверяваш дали е останал FALSE - т.е. никога не е влязло в иф-а в цикъла, и изписваш тиренце.

0
ilmisha avatar ilmisha 5 Точки

Колеги, ето моето предложение за задача 10.Fibonacci Numbers.Не успях да измисля как да вкарам в цикъла, ако се въведе 1 или 2 и го направих с if.Моля за коментари. http://pastebin.com/NpzvrjT8

0
23/11/2014 11:39:52
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Ми можеш да завъртиш цикъла от 0 или 1 и да правиш проверки с въведеното число и да контролираш flow-a с continue и break, но правилният начин е както ти си го направил, първо двете проверки и накрая ако е по-голямо от 2 завъртане на цикъл, като спокойно можеш и да ги пишеш с else-ове.

1
FunnyBunny avatar FunnyBunny 38 Точки

Моето решение. Стойностите, кото задавам в началото са -1 и 1, за да започне да принтира от 0. Така ми се струва по-изчистено.

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