[Homework] C# Basics - Conditional Statements
Здравейте,
Отварям тема за новото домашно.
Решенията ми ще следват едно по едно след като съм готов с всяко от тях :)
1. Problem 1 - Exchange If Greater . Използвал съм XOR алгоритъм за размяна на стойностите на две променливи без да е необходима трета. Повече инфо тук: XOR_swap_algorithm .
Така представено решението ми работи само за целочислен тип.
В тази задача третата проверка е объркана. Трябва резултата да е 4.5 5.5 (по условие). Втората грешка в условието е, че стойностите не са целочислени (третата проверка).
2. Problem 2 - Bonus Score . Използвал съм switch-case.
3. Problem 3 - Check for a Play Card. Използвал съм switch statement.
4. Problem 4 - Multiplication Sign. Допълнителна информация към задачата Subset_sum_problem . Така написана задачата обхваща 8 случая при комбинация на всички позиции с положителна и отрицателна стойност. Използвал съм if оператори.
5. Problem 5 - The Biggest of Three Numbers . Използвал съм if-else.
6. Problem 6 - The Biggest of Five Numbers. Използвал съм 5 условия if-else.
7. Problem 7 - Sort 3 Numbers with Nested Ifs . Използвал съм if-else.
8. Problem 8 - Digit As Word . Използвал съм switch statement.
9. Problem 9 - Play with Int, Double and String . Използвал съм switch statement.
10.//TODO. Как се парсва дата и време Инфо от msdn .
11.//TODO
12.//TODO
Програмата ти работи единствено при случаите когато въвеждаш цели числа. При дробни не им разменя стойността, и ако въведеш някакви стрингове също ги принтира. Пробвай просто с една проста проверка дали първото е по голяма от 2рото и ако да -> разменяй и принтирай. Но ползвай double.Parse -> така ще ти работи нормално и със цели числа и с дробни ;)
Да, така е, програмата работи само с цели числа(всъщност работи и с дробни, но не им разменя местата, просто не гърми). Нарочно съм я направил така, защото това е условието на задачата. Просто следвах примерите от самата задача, където като трети пример са дадени дробни числа и местата им не са разменени, а програмата просто ги принтира. Съответно и моята програма се държи по същия начин.
Иначе си прав, че ако се въведат и символи различни от числа и те ще се принтират. Можех да сложа и една проверка дали въведените дани са числа, но тъй като условието не го изискваше се отказах.
Съветвам те когато слагаш имена на променливи да започваш всяка следваща дума с главна буква, че в началото се чудих какво по дяволите е aisint и bisint!
А виж ако бяха така aIsInt и bIsInt друго щеше да е, а и е по правилата да се започват с малка буква и всяка следваща дума да започва с главна, ако името на променливата се състои от няколко думи!
Ето ти моето решение, което проверява за десетична запетая!
ExchangeIfGreater