Loading...

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

monik_75 avatar monik_75 2 Точки

ЗАДАЧИ C SHARP

Здравейте! Имам нужда от помощ за решаване на следните задачи:

1. Напишете функция, която приема като параметър масив от цели числа и
връща като резултат сумата на двата най-големи елемента в масива.
2. Напишете функция, която приема два параметъра - масив от цели числа и
число X, и проверява дали съществуват точно два елемента от масива със
сума X. Функцията връща true или false.

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

4. Като задача 3, но ако има повтарящи се елементи, в изходния резултат
да се елиминират повторенията (всяко число да се среща само веднъж).

5. Напишете функция за изчисляване на вноски по ипотека с намаляващи
вноски, която приема като параметри: int sum - сума на заема (главница),
float interest - годишен лихвен процент, int monthsCount – период на
заема (в брой месеци), int month - месец от началото на ипотеката и
връща като резултат сумата, дължима през месец month. Допълнителни
пояснения: всеки месец се заплаща една и съща сума по главницата, и
лихва за съответния месец върху остатъка от главницата. Допуска се, че
годишният лихвен процент остава постоянен за целия период на заема.


6. Българските ЕГН-та се състоят от 10 цифри, като един (опростен) начин
да се опише коя какво значи, е:
Първите 2 цифри са рождената година
Следващите 2 цифри са рождения месец
Следващите 2 цифри са рождения ден
Следващите 2 цифри са за рожденото място
Следващата цифра указва пола - четна за мъж, нечетна за жена
Последната цифра е чексума
По зададен масив, съдържаш ЕГН-та, да се определи колко от тях са на
мъже, зодия Стрелец.

Тагове:
0
Programming Basics
willystyle avatar willystyle 2472 Точки

Ето ти първата и последната, за да се ориентираш как стават нещата:

https://pastebin.com/H8ZaGGaU

1
monik_75 avatar monik_75 2 Точки

Благодаря!

1
willystyle avatar willystyle 2472 Точки

https://pastebin.com/pauM9XZB

0
monik_75 avatar monik_75 2 Точки

Отново благодаря!

1
KeepCoding avatar KeepCoding 554 Точки

На първата сортираш масивът и ако си избрал да са във възходящ ред - взимаш последните два елемента и им връщаш сумата.

На втората правиш една променлива, която ще следи бройката на сумите, отговарящи на даденото число. После пускаш вложен цикъл. Външният ще бъде от първото число до предпоследното, а вторият цикъл от итераторът на външният + 1 до последният елемент. После събираш двата елемента, отговарящи на двата итератора.

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

На четвърта вкарваш елементите от двата масива в един HashSet, или там каквото беше в C#, и тази структура от данни автоматично ще махне дублиращите се стойности. Създаваш масив по големината на тази струтктура, итерираш я като добавяш елементите в масивът и го сортираш. Или първоначално добавяш елементите в TreeSet и при итерирането му ще ти ги изплюе вече сортирани. 

Относно пета. Не разбирам много от лихви. Едната и съща сума по главницата, която се заплаща май трябва да се сметне като се раздели главницата на бройката месеци за изплащане. А лихвата има нова стойност всеки месец и се смята по остатъкът от главницата и едната и съща сума, за която става въпрос. Ако е така както го мисля, значи си правиш масив с големина - бройката месеци. Правиш един цикъл с бройка итерации - броят месеци за изплащане. За всеки месец смяташ сметнатата сума от (главница / брой месеци) + лихва от отстатъка. И тази сума я добавяш в масивът и накрая го връщаш масивът.

Шеста - зодия стрелец е между 23 ноември (месец 11) и 22 декември (месец 12). Правиш си три функции - едната взима числото за пол, другата числото за рожден ден и третата за числото за месец. Ако данните идват като int, то тогава функциите ще взимат определените числа с модулно деление по 10. Напр. за полът ще изглежда някак така функциятя int getSex(int egn) { egn %= 10; return egn %=10; }. На същия принцип правиш и за месецът после - намаляваш числото чрез %=10 и когато стигнеш до двете цифри връщаш %= 100. После с едни лесни if - else проверки виждаш дали ЕГН-то отговаря на изискването. Ако пък ЕГН-тата са във вид на стринг, то тогава просто си взимаш нужната информация, парсваш към числа и си правиш условните конструкции.

 

 

1
monik_75 avatar monik_75 2 Точки

Благодаря за помощта!

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