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

Здравей, колега

Относно 2-ра задача мисля, че трябва да се хвърля "exception" и когато числото не е в дадения диапазон.
Аз изпитах голямо затруднение да разбера условието на задачата и се излакомих да погледна решението ти.

 

Поздрави Даниел :)

10
BoniMislyashki avatar BoniMislyashki 36 Точки

Ето и от мен едно решение на втора задача: Enter Numbers

Според мен ако възникнат изключения, трябва да се обработят и програмата да продължи да работи, докато не се въведат 10 числа, отговарящи на условията. Т.е. програмата не трябва да гърми, когато се въведе стринг или твърде голямо число, а трябва да даде възможност на потребителя да въведе друг вход.

 

2
b.grigorov avatar b.grigorov 7 Точки

Здравей колега,

Задачата ти трябва да прави може би и една проверка дали ше можеш да въведеш останалите числа, защото ако първото е 99 няма никога да излезнеш от while-a. /.. if (end - num < 10 - counter) .. / нещо такова.

3
slavi.koen avatar slavi.koen 38 Точки

Нямаш нужда от catch (OverflowException) тъй като числата са ти между 0 и 100 и никога няма да кечне ;)

1
Velichkov avatar Velichkov 87 Точки

Ето и моите:

Square Root

Enter Numbers

Втора задача мисля, че съм я направил с по-елегантно решение. :)

1
ti4o.bs avatar ti4o.bs 16 Точки

Втората ти задача гърми, и идеята е всяко следващо число трябва да по-голямо от предходното!

1
Velichkov avatar Velichkov 87 Точки

Оправих го ;)

0
ttitto avatar ttitto 1155 Точки

В условието много ясно е казано какво трябва да прави методът: да чете числа в даден интервал и ако нещо не е наред да хвърля грешка.

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

Поради тези размисли горе моето решение изглежда така.

4
22/09/2014 14:36:41
ZvetanIG avatar ZvetanIG 925 Точки

Мисля, че във втора задача е грешно да използваш ArgumentException, защото това означава, че е възникнало изключение от грешно въведени аргументи на метода, а то не е така.

0
yavor2000 avatar yavor2000 114 Точки

@ttitto относно "Enter numbers", когато подадеш число n, което е равно на end по-правилно е end = n - 1, а не start = n + 1;
ето моето решение на EnterNumbers.

3
ZvetanIG avatar ZvetanIG 925 Точки

Подкрепям ttitto. И според мен работата на метода е да хвърли изключение, което после да се прехване и обработи в Main().

Ето и моето домашно ТУК.

4
BoniMislyashki avatar BoniMislyashki 36 Точки

Трябва да добавиш една проверка за числата, понеже в условието е зададено "write a program that enters 10 numbers: a1, a2, … a10, such that 1 < a1 < … < a10 < 100", т.е. всяко следващо число трябва да е по-голямо от предходното.

2
ZvetanIG avatar ZvetanIG 925 Точки

Да прав си. Това го бях пропуснал. Вече е оправено.

0
alexxdim94 avatar alexxdim94 41 Точки

Благодаря, доста ми помогна с решението си! :)

0
slavi.koen avatar slavi.koen 38 Точки

GoShow на първата ти задача можеш да си спестиш единия catch просто добави какъв тескт искаш в if-а ;)

0