Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion task_01/src/main.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
#include "mediana.h"
#include <iostream>

int main() { return 0; }
int main() {
double a;
double b;
double c;
std::cin>>a>>b>>c;
double result = mediana(a, b, c);
std::cout<<result;
return 0;
}
15 changes: 15 additions & 0 deletions task_01/src/mediana.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#include "mediana.h"
#include <vector>
double mediana(double a, double b, double c) {
double max_value = {a};
double min_value = {a};
std::vector numbers = {a, b, c};
for(auto &x: numbers) {
if (x < min_value)
min_value = x;
if (x>max_value)
max_value = x;
}
double mediana_value = a + b + c - min_value - max_value;
return mediana_value;
}
2 changes: 2 additions & 0 deletions task_01/src/mediana.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#pragma once
double mediana(double a, double b, double c);
13 changes: 11 additions & 2 deletions task_01/src/test.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
#include <gtest/gtest.h>
#include "mediana.h"

TEST(Test, Simple) {
ASSERT_EQ(mediana(1, 2, 3), 2);
ASSERT_EQ(mediana(4, 5, 4.4), 4.4);
ASSERT_EQ(mediana(34, 2, 676), 34);
ASSERT_EQ(mediana(0, 0, 0), 0);
ASSERT_EQ(mediana(1, -6, -5), -5);

}


#include <sum.hpp>

TEST(Test, Simple) { ASSERT_EQ(Sum(1, 2, 3), 6); }
3 changes: 0 additions & 3 deletions task_02/src/main.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
#include <iostream>

int main() { return 0; }
10 changes: 10 additions & 0 deletions task_02/src/maximum.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#include "maximum.h"

double maximum(double *ptr, const int size) {
double maximum = *ptr;
for(auto i{1}; i < size; i++) {
if (maximum < *(ptr + i))
maximum = *(ptr + i);
}
return maximum;
}
3 changes: 3 additions & 0 deletions task_02/src/maximum.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#pragma once

double maximum(double *ptr, int size);
11 changes: 9 additions & 2 deletions task_02/src/test.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
#include <gtest/gtest.h>
#include "maximum.h"

double sp[] {1, 23 ,4, 234, 34, 4322, 0, -14};
double *ptr = {sp};

TEST(Test, Simple) {
ASSERT_EQ(1, 1); // Stack []
}
ASSERT_EQ(maximum(ptr,3), 23);
ASSERT_EQ(maximum(ptr,30), 4322);
ASSERT_EQ(maximum(ptr,1), 1);
ASSERT_EQ(maximum(ptr,5), 234);
}
1 change: 0 additions & 1 deletion task_03/src/main.cpp
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
int main() { return 0; }
8 changes: 7 additions & 1 deletion task_03/src/reverse.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
#include "reverse.hpp"

void Reverse(int *array, size_t len) {}
void Reverse(double *array, int len) {
for(auto i{0}; int(i<len/2); i++) {
double old_el = array[i];
array[i] = array[len - i - 1];
array[len - i - 1] = old_el;
}
}
4 changes: 1 addition & 3 deletions task_03/src/reverse.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#pragma once

#include <cstddef>

void Reverse(int *array, size_t len);
void Reverse(double *array, int len);
19 changes: 17 additions & 2 deletions task_03/src/test.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@

#include <ranges>
#include <gtest/gtest.h>

#include "reverse.hpp"

TEST(Reverse, Simple) {}
double sp[] {1, 23, 4, 234, 34, 4322, 0, -14};
double sp_mod[] {-14, 0, 4322, 34, 234, 4, 23, 1};
double sp2[] {1, 23, 4, 5, 7};
double sp_mod2[] {7, 5, 4, 23, 1};


TEST(Reverse, Simple) {
Reverse(sp, 8);
for (int i{0}; i < 8; i++) {
ASSERT_EQ(sp[i], sp_mod[i]);
}
Reverse(sp2, 5);
for (int i{0}; i < 5; i++) {
ASSERT_EQ(sp2[i], sp_mod2[i]);
}
}