Solved: 13 - C Arrays
This commit is contained in:
@@ -1,9 +1,37 @@
|
||||
#include "c_arrays.hpp"
|
||||
|
||||
#include <climits>
|
||||
|
||||
namespace arrays {
|
||||
|
||||
auto array_sum(const int* data, std::size_t size) -> int { (void)data; (void)size; return 0; }
|
||||
auto array_max(const int* data, std::size_t size) -> int { (void)data; (void)size; return 0; }
|
||||
void reverse_array(int* data, std::size_t size) { (void)data; (void)size; }
|
||||
auto array_sum(const int* data, const std::size_t size) -> int {
|
||||
auto sum = 0;
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user