Задача 1: Найти сумму всех элементов вектора
Условие: Напишите функцию, которая принимает вектор целых чисел и возвращает их сумму.
#include <iostream>
#include <vector>
// функция
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::cout << "Sum: " << sumOfElements(vec) << "\n"; // Вывод: Sum: 15
return 0;
}
Задача 2: Найти максимальный элемент в векторе
Условие: Напишите функцию, которая находит максимальный элемент в векторе.
#include <iostream>
#include <vector>
// функция
int main() {
std::vector<int> vec = {3, 7, 2, 9, 4};
std::cout << "Max: " << findMax(vec) << "\n"; // Вывод: Max: 9
return 0;
}
Задача 3: Удалить все чётные числа из вектора
Условие: Напишите функцию, которая удаляет все чётные числа из вектора.
#include <iostream>
#include <vector>
// функция
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5, 6};
removeEvenNumbers(vec);
for (int value : vec) {
std::cout << value << " "; // Вывод: 1 3 5
}
return 0;
}
Задача 4: Проверить, содержит ли вектор заданное значение
Условие: Напишите функцию, которая проверяет, содержит ли вектор заданное значение.
#include <iostream>
#include <vector>
// функция
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::cout << std::boolalpha;
std::cout << "Contains 3? " << containsValue(vec, 3) << "\n"; // Вывод: Contains 3? true
std::cout << "Contains 6? " << containsValue(vec, 6) << "\n"; // Вывод: Contains 6? false
return 0;
}
Задача 5: Развернуть вектор
Условие: Напишите функцию, которая разворачивает вектор (меняет порядок элементов на обратный).
#include <iostream>
#include <vector>
#include <algorithm>
// функция
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
reverseVector(vec);
for (int value : vec) {
std::cout << value << " "; // Вывод: 5 4 3 2 1
}
return 0;
}
Задача 6: Найти два наибольших элемента в векторе
Условие: Напишите функцию, которая находит два наибольших элемента в векторе.
#include <iostream>
#include <vector>
// функция
int main() {
std::vector<int> vec = {3, 7, 2, 9, 4};
auto [max1, max2] = findTwoMax(vec);
std::cout << "Max1: " << max1 << ", Max2: " << max2 << "\n"; // Вывод: Max1: 9, Max2: 7
return 0;
}
Задача 7: Сжать вектор, удалив дубликаты
Условие: Напишите функцию, которая удаляет дубликаты из вектора, сохраняя порядок элементов.
#include <iostream>
#include <vector>
#include <unordered_set>
// функция
int main() {
std::vector<int> vec = {1, 2, 2, 3, 4, 4, 5};
removeDuplicates(vec);
for (int value : vec) {
std::cout << value << " "; // Вывод: 1 2 3 4 5
}
return 0;
}
Задача 8: Разделить вектор на два по условию
Условие: Напишите функцию, которая разделяет вектор на два: один с числами, меньшими заданного значения, другой — с остальными.
#include <iostream>
#include <vector>
// функция
int main() {
std::vector<int> vec = {1, 5, 8, 3, 7, 2};
auto [smaller, larger] = splitVector(vec, 5);
std::cout << "Smaller: ";
for (int value : smaller) std::cout << value << " "; // Вывод: Smaller: 1 3 2
std::cout << "\nLarger: ";
for (int value : larger) std::cout << value << " "; // Вывод: Larger: 5 8 7
return 0;
}