Website Summary Files Commits Branches @commit @diff @stats
path: root / Week04 / Exercise04.cpp
diff options
context:
space:
mode:
Commit69de8ecfb2df52a6a4ae9d75f6a018ae380cca05 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-10-25 18:07:05 +0300
Committer
 Syndamia <kamen@syndamia.com>
2025-10-25 18:07:05 +0300
Files01718e36f21e7b661cab951c371407637ea4a00f /Week04/Exercise04.cpp
upp-2025-solutions-69de8ecfb2df52a6a4ae9d75f6a018ae380cca05.tar
upp-2025-solutions-69de8ecfb2df52a6a4ae9d75f6a018ae380cca05.tar.gz
upp-2025-solutions-69de8ecfb2df52a6a4ae9d75f6a018ae380cca05.zip
Parenteb8b89e3622f5a77027fe88930b6d38cfe73b774 (diff)
feat(Week04): Add exercises and solutions
1 files changed, 25 insertions, 0 deletions
-rw-r--r--Week04/Exercise04.cpp25
diff --git a/Week04/Exercise04.cpp b/Week04/Exercise04.cpp
new file mode 100644
index 0000000..a64f1f2
--- /dev/null
+++ b/Week04/Exercise04.cpp
@@ -0,0 +1,25 @@
+#include <iostream>
+#include <cmath>
+
+int main() {
+ float a, b, c;
+ std::cin >> a >> b >> c;
+
+ float determinant = b * b - 4.0 * a * c;
+ // Тези сравнения колко са коректни така?
+ // Могат ли да се породят проблеми заради точност?
+ if (determinant < 0.0) {
+ std::cout << "No real roots";
+ }
+ else if (determinant == 0.0) {
+ float x = -b / (2 * a);
+ std::cout << x;
+ }
+ else {
+ float x1 = (-b + sqrt(determinant)) / (2 * a);
+ float x2 = (-b - sqrt(determinant)) / (2 * a);
+ std::cout << x1 << ' ' << x2;
+ }
+
+ return 0;
+}