2026-08-11 17:40:36 +03:00
|
|
|
#include "c_arrays.hpp"
|
|
|
|
|
|
2026-08-12 21:27:42 +03:00
|
|
|
#include <climits>
|
|
|
|
|
|
2026-08-11 17:40:36 +03:00
|
|
|
namespace arrays {
|
|
|
|
|
|
2026-08-12 21:27:42 +03:00
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-08-11 17:40:36 +03:00
|
|
|
|
|
|
|
|
} // namespace arrays
|