diff options
| author | Syndamia <kamen@syndamia.com> | 2023-11-02 15:00:22 +0200 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2023-11-02 15:00:22 +0200 |
| commit | d09b1a288ae51fe2e141676948d225296f2f7d72 (patch) | |
| tree | 7e3666545c04c4602be5374859001bf03e98f4b3 /week03/exercise11.cpp | |
| parent | fbbe586d25b1ebaf66fe2e92e1986bb5debf961d (diff) | |
| download | upp-2023-solutions-d09b1a288ae51fe2e141676948d225296f2f7d72.tar upp-2023-solutions-d09b1a288ae51fe2e141676948d225296f2f7d72.tar.gz upp-2023-solutions-d09b1a288ae51fe2e141676948d225296f2f7d72.zip | |
[w3] Added solutions
Diffstat (limited to 'week03/exercise11.cpp')
| -rw-r--r-- | week03/exercise11.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/week03/exercise11.cpp b/week03/exercise11.cpp new file mode 100644 index 0000000..c4bf464 --- /dev/null +++ b/week03/exercise11.cpp @@ -0,0 +1,29 @@ +#include <iostream> +#include <cassert> + +int parseSensor(int s) { return ((((s=(s>>1)&(~0xF617A100))<0x54)?s|0xF01:s&0xCBFF)>>2)-21; } + +int main() { + int rawValue; + std::cin >> rawValue; + + int temp = parseSensor(rawValue); + assert(-20 <= temp); + assert(temp <= 40); + + if (30 <= temp && temp <= 40) { + std::cout << "Hot" << std::endl; + } + else if (20 <= temp && temp <= 29) { + std::cout << "Warm" << std::endl; + } + else if (11 <= temp && temp <= 19) { + std::cout << "Temperate" << std::endl; + } + else if (0 <= temp && temp <= 10) { + std::cout << "Cold" << std::endl; + } + else if (-20 <= temp && temp <= -1) { + std::cout << "Freezing" << std::endl; + } +} |
