diff --git a/src/algo.cpp b/src/algo.cpp deleted file mode 100644 index f13f6b4..0000000 --- a/src/algo.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "algo.h" - -void bubble_sort_print_demo() -{ - int demo[]{11, 14, 3, 18, 8, 17, 43, 6, 5, 4}; - double demo2[]{11.2, 14.3, 3.2, 18.6, 8.7, 17.9, 43.3, 12.3}; - std::string demo3[]{"hallo", "velo", "kekw", "imagin"}; - bubble_sort_print(sizeof(demo) / sizeof(demo[0]), demo); - bubble_sort_print(sizeof(demo2) / sizeof(demo2[0]), demo2); - bubble_sort_print(sizeof(demo3) / sizeof(demo3[0]), demo3); -} \ No newline at end of file diff --git a/src/algo.h b/src/algo.h deleted file mode 100644 index 52bc41f..0000000 --- a/src/algo.h +++ /dev/null @@ -1,55 +0,0 @@ -#pragma once -#include -#include -#include - -void bubble_sort_print_demo(); - -template -struct TypeName -{ - static const char *Get() - { - return typeid(T).name(); - } -}; -template <> -struct TypeName -{ - static const char *Get() - { - return "s"; - } -}; - -template -void bubble_sort(int size, T *a) -{ - for (int i = 0; i < size; i++) - { - for (int j = 0; j < size - 1 - i; j++) - { - if (a[j] > a[j + 1]) - { - T temp{a[j]}; - a[j] = a[j + 1]; - a[j + 1] = temp; - } - } - } -}; - -template -void bubble_sort_print(int size, T *a) -{ - std::cout << std::left; // left justify output - std::cout << "unsorted " << TypeName::Get() << std::setw(10) << " Array: "; - for (int i = 0; i < size; i++) - std::cout << a[i] << ", "; - std::cout << "\n"; - bubble_sort(size, a); - std::cout << "sorted " << TypeName::Get() << std::setw(12) << " Array: "; - for (int i = 0; i < size; i++) - std::cout << a[i] << ", "; - std::cout << "\n\n"; -}; \ No newline at end of file diff --git a/src/io.cpp b/src/io.cpp index c8a8734..1da65ac 100644 --- a/src/io.cpp +++ b/src/io.cpp @@ -1,7 +1,6 @@ #include "io.h" #include #include - void add_two_numbers() { int a{read_number()}; @@ -26,7 +25,6 @@ void convert_char_to_ascii() std::cin >> c; std::cout << "You entered '" << c << "', which hass ASCII code " << static_cast(c) << "."; } - void print_type_size_bytes() { std::cout << std::left; // left justify output @@ -38,17 +36,5 @@ void print_type_size_bytes() std::cout << std::setw(16) << "long long:" << sizeof(long long) << " bytes\n"; std::cout << std::setw(16) << "float:" << sizeof(float) << " bytes\n"; std::cout << std::setw(16) << "double:" << sizeof(double) << " bytes\n"; - std::cout << std::setw(16) << "long double:" << sizeof(long double) << " bytes\n\n"; -} -void string_demo() -{ - using namespace std; - cout << "Enter your full name: "; - string name{}; - getline(cin >> ws, name); - cout << "Enter your age: "; - int age{}; - cin >> age; - int letters{static_cast(name.length())}; - cout << "Your age + length of name is: " << (letters + age) << "\n"; + std::cout << std::setw(16) << "long double:" << sizeof(long double) << " bytes\n"; } \ No newline at end of file diff --git a/src/io.h b/src/io.h index 74cc367..39c803b 100644 --- a/src/io.h +++ b/src/io.h @@ -4,5 +4,4 @@ void add_two_numbers(); int read_number(); void write_answer(int x); void convert_char_to_ascii(); -void print_type_size_bytes(); -void string_demo(); \ No newline at end of file +void print_type_size_bytes(); \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index b0c8dde..8fa3148 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,14 +1,77 @@ #include // for std::cout #include "io.h" -#include "algo.h" +#include +// Definition of function main() +double get_user_double() +{ + std::cout << "Enter a double value: "; + double x{}; + std::cin >> x; + return x; +} +char get_user_operator() +{ + std::cout << "Enter +, -, * or /: "; + char x{}; + std::cin >> x; + return x; +} +void print_result(double a, double b, char c) +{ + double result{}; + switch (c) + { + case '+': + result = a + b; + break; + case '-': + result = a - b; + break; + case '*': + result = a * b; + break; + case '/': + result = a / b; + break; + default: + return; + } + std::cout << a << ' ' << c << ' ' << b << " is " << result; +} +void task1() +{ + double a{get_user_double()}; + double b{get_user_double()}; + char c{get_user_operator()}; + print_result(a, b, c); +} + +long get_user_tower_height() +{ + std::cout << "Enter the height of the tower in meters: "; + long x{}; + std::cin >> x; + return x; +} +void task2() +{ + long tower_height{get_user_tower_height()}; + for (size_t i = 0; i < 6; i++) + { + double result{static_cast(tower_height) - 9.8 * pow(static_cast(i), 2) / 2}; + if (result <= 0.0) + std::cout << "At " << i << " seconds, the ball is on the ground\n"; + else + std::cout << "At " << i << " seconds, the ball is at height: " << result << " meters\n"; + } +} int main() { - // string_demo(); // add_two_numbers(); // convert_char_to_ascii(); - print_type_size_bytes(); - // bubble_sort_print_demo(); - + // print_type_size_bytes(); + // task1(); + task2(); return 0; -} +} \ No newline at end of file