Loading...
Panglot avatar Panglot 22 Точки

Домашно Console Input Output. Грешни задачи.

Problem 1. Sum of 3 integers

Write a program that reads 3 integer numbers from the console and prints their sum. Examples:

a

b

c

sum

3

4

11

19

-2

0

3

1

5.5

4.5

20.1

30.1


На някого да му е направило впечатление, че първо 3+4+11 е 18 а не 19 и второ че в задачата пише 3 INTEGER numbers  а в последния ред от примера приема дробни числа? 

Problem 3.       Circle Perimeter and Area

Write a program that reads the radius r of a circle and prints its perimeter and area formatted with 2 digits after the decimal point. Examples:

 

 

r

perimeter

area

2

12.57

12.57

3.5

21.99

38.48

2*3.14*2=12.56 

2*3.14*3.5=21.98
3.14*3.5*3.5=38.47

 

 

0
Programming Basics
parranormall avatar parranormall 3 Точки

Здравей и аз съм пред дилема - Aко направя задачата с float, примерите ще работят, но нарушавам условието, понеже нямам 3 integer стойности. Aко обаче го направя с int, последния пример няма да се смята. Няма невъзможни неща, просто нямам идея как трябва да стане :D

0
Masovski avatar Masovski 211 Точки

2*3.14*2=12.56 

2*3.14*3.5=21.98
3.14*3.5*3.5=38.47

Грешката не е в задачата, а в 3.14. Пи далеч не е само 3.14. Можеш да извадиш стойността на Пи чрез Math.PI в C#.

Сметни пак същите неща, само че използвай повече числа след десетичната запетая от числото Пи - 22/7.

След като закръглиш, ще се получат точно стойностите от примера.

2
Panglot avatar Panglot 22 Точки

Да тук си прав. Просто по презюмция сметнах, че няма нужда да ползвам по голяма прецизност за Пи тъй като сметките са училищни и взимах стойността използвана в училище която е 3.14. С по-голяма прецизност излизат точни. Моя грешка.

0
mantodeus avatar mantodeus 17 Точки

Мислех че на 5 задача също има грешка, но явно е някаква уловка - не може на първия ред при c = 0.5 хем да ни допълва с 0 до три знака след десетичната запетая, а при c = 10 000 да ни го оставя така. Ако се ползва форматирането Zero Padding от тип {0:0.000} не  се изпълнява условието. Ако пък се ползва Space Padding ще реже символите след третия знак и ако имаме цяло число ще го оставя така, но ако се въведат по малко от три знака след десетичната запетая няма да имаме нули като в първия пример. Същото е и с второто число. Няма да се мине без проверки за разделителен знак и различни сценарии :)

2
Fleshian avatar Fleshian 379 Точки

Здравей.
И аз доста се почудих какво да напрвя за това си вкарах един If else койото проверява дали числото е цяло или с десетична запетая и направих следното: 

if (c % 1 == 0) // whole number
{
Console.Write("|{0,-10:X}|{1}|{2,10:F2}|{3,-10}|", a, aBinary, b, c);
}
else
{
Console.Write("|{0,-10:X}|{1}|{2,10:F2}|{3,-10:F3}|", a, aBinary, b, c);
}

Разликата е там че в пъривя слуай му казвам да не слага знаци {3,-10}
а в другия да сложи 3 знака след запетаята {3,-10:F3} .

0
vgrozev avatar vgrozev 0 Точки

Съжалявам че толкова късно, ама ме нямаше дълго време.

Това е едно от решенията:

Console.WriteLine("|{0, -10:X}|{1}|{2, 10:0.##}|{3, -10:0.###}|", a, binaryA, b, c);

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