Solved: 13 - C Arrays
This commit is contained in:
@@ -1,9 +1,37 @@
|
|||||||
#include "c_arrays.hpp"
|
#include "c_arrays.hpp"
|
||||||
|
|
||||||
|
#include <climits>
|
||||||
|
|
||||||
namespace arrays {
|
namespace arrays {
|
||||||
|
|
||||||
auto array_sum(const int* data, std::size_t size) -> int { (void)data; (void)size; return 0; }
|
auto array_sum(const int* data, const std::size_t size) -> int {
|
||||||
auto array_max(const int* data, std::size_t size) -> int { (void)data; (void)size; return 0; }
|
auto sum = 0;
|
||||||
void reverse_array(int* data, std::size_t size) { (void)data; (void)size; }
|
for (std::size_t i = 0; i < size; ++i) {
|
||||||
|
sum += data[i];
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
auto array_max(const int* data, const std::size_t size) -> int {
|
||||||
|
auto max = INT_MIN;
|
||||||
|
for (std::size_t i = 0; i < size; ++i) {
|
||||||
|
if (data[i] > max) {
|
||||||
|
max = data[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return max;
|
||||||
|
}
|
||||||
|
|
||||||
|
void reverse_array(int* data, const std::size_t size) {
|
||||||
|
auto swap = [&data](const std::size_t i, const std::size_t j) {
|
||||||
|
const auto temp = data[i];
|
||||||
|
data[i] = data[j];
|
||||||
|
data[j] = temp;
|
||||||
|
};
|
||||||
|
for (std::size_t i = 0; i < size / 2; ++i) {
|
||||||
|
swap(i, size - i - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace arrays
|
} // namespace arrays
|
||||||
|
|||||||
Reference in New Issue
Block a user