Loading...

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

joto_to avatar joto_to 40 Точки

Решение на Домашно 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 40 Точки

Интересно решение. Трябва да проверим дали 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
joto_to avatar joto_to 40 Точки

Всички решения които публикувам са тествани в джъдж и всички са преминали със 100 точки. Ако си намерил грешки някаде моля да ги споделиш. Нека всички се поучим ако съм допускал грешки. За 12-та си прав че няма смисъл от вложен цикъл ;) заиграх се.

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