Софтуерно Инженерство
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 цифри са за рожденото място
Следващата цифра указва пола - четна за мъж, нечетна за жена
Последната цифра е чексума
По зададен масив, съдържаш ЕГН-та, да се определи колко от тях са на
мъже, зодия Стрелец.

Тагове:
willystyle avatar willystyle 984 Точки

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

https://pastebin.com/H8ZaGGaU

1
monik_75 avatar monik_75 2 Точки

Благодаря!

1
willystyle avatar willystyle 984 Точки

https://pastebin.com/pauM9XZB

0
monik_75 avatar monik_75 2 Точки

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

1
KeepCoding avatar KeepCoding 416 Точки

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

На втората правиш една променлива, която ще следи бройката на сумите, отговарящи на даденото число. После пускаш вложен цикъл. Външният ще бъде от първото число до предпоследното, а вторият цикъл от итераторът на външният + 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