Професионална програма
Loading...
+ Нов въпрос
joto_to avatar joto_to 39 Точки

Решение на Домашно 05 от Основи на програмирането с Java - декември 2016

Повторения (цикли)

Дата: 4-ти февруари 2017

 

Задача 01 ( Числа от 1 до 100 )

Решена на лекцията.

Задача 02 ( Числа до 1000, завършващи на 7 )

Решена на лекцията.

Задача 03 ( Всички латински букви )

Решена на лекцията.

Задача 04 ( Сумиране на числа )

Решена на лекцията.

Задача 05 ( Най-голямо число )

Решена на лекцията.

Задача 06 ( Най-малко число )

Решена на лекцията.

Задача 07 ( Лява и дясна сума )

Решена на лекцията.

Задача 08 ( Четна / нечетна сума )

Единственото различно от показаното в лекцията е използването на булева променлива в проверката в коя сума трябва да добавим текущото въведено число. Булевата променлива сменя стойността си при завъртане на цикъла for (int i = 0; i < numberCount; i++, isPositionEven = !isPositionEven) , като след всяко завъртане се взима обратната на последната стойност.

Задача 09 ( Сумиране на гласните букви )

Решена на лекцията.

Задача 10 ( Елемент, равен на сумата на останалите )

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

Задача 11 ( Четни / нечетни позиции )

В тази задача са смесени няколко от предходните задачи. особеното е че използвам import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Locale; за да форматирам числата и за да променя десетичната запетая в десетична точка(нещо което не исках да направя с Local в предното домашно). Тук могат да се ползват Math.min() и Math.max(), но имал съм желание разписал съм ги на ръка.

Задача 12 ( Еднакви двойки )

Егото е голям враг! Повече от 5 пъти пуснах кода в джъдж преди да прочета условието на задачата по-задълбочено, защото една от проверките не ми излизаше, а то се оказа че въобще не ми е по условие кода на задачата.

Задача 13 ( Хистограма )

Тук не мисля че има нещо особено.

Задача 14 ( Деление без остатък )

Същата като 13-та задача, но с по-малко променливи/писане.

1
Programming Basics 09/02/2017 01:30:53
Jovtcho avatar Jovtcho 20 Точки

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

Понеже вече си ми разрешил :) слагам при твоите решения и едно малко по-различно решение на задача 11, четни нечетни позиции.

http://pastebin.com/ahJD0y88

 

0
joto_to avatar joto_to 39 Точки

Интересно решение. Трябва да проверим дали Double.MIN_VALUE == -Double.MAX_VALUE. Иначе всеки е добре дошъл да споделя решенията си тук и да обсъждаме задачите. Идеята на темата е да водим дискусия. Между другото решението ти ми даде интересни идеи. Довечера ще разпиша алтернативно решение на 11-та задача.

0
ReapeR_MaxPayne avatar ReapeR_MaxPayne 16 Точки

На 10-а задача от къде се взе променливата absDiff и как я сметна?

Още по-интересно ми е колко ти даде judge за нея?

Пробвай си решенията и ще си намериш грешките сам wink

0
ReapeR_MaxPayne avatar ReapeR_MaxPayne 16 Точки

За int е винаги вярно за Double не знам.

0
ReapeR_MaxPayne avatar ReapeR_MaxPayne 16 Точки

На 12-а задача няма смисъл от вложения цикъл, не четеш петнадесетици, а двойки.

 

0