Loading...

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

DilyanaGeorgieva avatar DilyanaGeorgieva 81 Точки

Programming Fundamentals - Data Types - Float or Integer

Имам проблем със задачата Float or Integer от упражнението към Data Types.

Условието е:

Write a program that checks whether a number is a real number or an integer number. If the number is an integer, just print the number. If the number is a real number, print the closest integer to it.

input 3 ; output 3

input 2.2 ; output 2

input 1.5 ; output 2

input 1.05 ; output 1

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

https://pastebin.com/1q484KLH

Тагове:
0
Programming Fundamentals 25/05/2017 19:04:20
KrasiyMihajlov avatar KrasiyMihajlov 139 Точки

Доколкото мога да разбера условието просто трябва да закръглиш числото с Math.Round

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

Неможах да намеря задачата за да проверя отговора, но мисля че се решава на 2 реда:

var num = decimal.Parse(Console.ReadLine());

Console.WriteLine(Math.Round(num, 0));

2
DilyanaGeorgieva avatar DilyanaGeorgieva 81 Точки

Да, определено съм решила, че е нещо супер сложно, но тепърва преминавам от Java и нещата не са ми много ясни все още.

Точно на 2 реда и 100/100. Благодаря!

1
spiderbait90 avatar spiderbait90 63 Точки

Използвай Math.Round() 😊

0
spzvtbg avatar spzvtbg 581 Точки

според мен ще проработи ако в цикъла проверяваш дали няма фесетична точка с една булева променлива на базата на която в удловната проверка отпечатваш съответния резултат.

  1.  var isInteger = true;

  2.             foreach(var symbol in num)

  3.             {

  4.                 if(symbol < '0' && symbol > '9')

  5. {

  6. isInteger = false;

  7. }

  8.                 

  9.             }

  10.             if (isInteger)

  11.             {

  12.                 Console.WriteLine(num);

  13.             }

  14.             else

  15.             {

  16.                 Console.WriteLine(Math.Round(num));

  17.             }

 

нещо подобно .

а колегата има в предвид следното

int number = 0;

bool isInteger = int.TryParse(num, out number );

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

0
DilyanaGeorgieva avatar DilyanaGeorgieva 81 Точки

Да, получи се и по този начин, благодаря!

0
LifeOnMars avatar LifeOnMars 1 Точки

Здравейте, аз съм го направил малко по-различно.

Просто каствам към int в самата проверка в if-вете и проверявам дали разликата е нула или е различна от нула.

Ето и кода: https://pastebin.com/9xp4j7Tj    -  (Минава в Judga на 100%).

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