Converted everything to orgmode

converted everything to orgmode and added solution to the README files
This commit is contained in:
2025-03-30 23:11:16 +02:00
parent 8719f4c140
commit 39ac03251c
75 changed files with 1648 additions and 1359 deletions

View File

@@ -1,16 +1,41 @@
# Task
#+TITLE: Task 3: Rounding
#+AUTHOR: JirR02
* Task
Implement the following rounding function that rounds a 64-bit floating point number (type `double`) to the nearest 32-bit integer (type `int`). You may assume that the type `double` complies with the IEEE standard 754. The function is only required to work correctly if the nearest integer is in the value range of the type `int`, otherwise, the return value of the function is undefined.
**Note: Usage of library rounding functions (standard or others) is not allowed.**
```cpp
#+begin_src cpp
// PRE: x is roundable to a number in the value range of type @int@
// POST: return value is the integer nearest to x, or the one further
// away from 0 if x lies right in between two integers.
int round_number(double x);
```
#+end_src
Write your solution in `rounding.h`.
_Hint_: In `C++`, when you convert a `float` or `double` to an `int`, the fractional part gets cut off (truncated). Think about how you can use the truncated number to solve the exercise.
/Hint/: In `C++`, when you convert a `float` or `double` to an `int`, the fractional part gets cut off (truncated). Think about how you can use the truncated number to solve the exercise.
* Solution
#+begin_src cpp
#pragma once
// PRE: x is roundable to a number in the value range of type int
// POST: return value is the integer nearest to x, or the one further
// away from 0 if x lies right in between two integers.
int round_number(double x) {
int res;
if (x < 0)
res = x - 0.5;
else
res = x + 0.5;
return res;
}
#+end_src
-----
Made by JirR02 in Switzerland 🇨🇭

View File

@@ -1,13 +0,0 @@
#pragma once
// PRE: x is roundable to a number in the value range of type int
// POST: return value is the integer nearest to x, or the one further
// away from 0 if x lies right in between two integers.
int round_number(double x) {
int res;
if (x < 0)
res = x - 0.5;
else
res = x + 0.5;
return res;
}