Помогите решить дз по программированию в c++.
В заголовочном файле inout.h объявлены функции:
#include <vector>
void print(const std::vector<int> &vec);
void read(std::vector<int> &vec);
В файле main.cpp содержится следующий код:
#include <algorithm>
int main() {
std::vector<int> vec;
read(vec);
std::sort(vec.begin(), vec.end());
print(vec);
return 0;
}
1. Создайте файл print.cpp и реализуйте в ней функцию, объявленную в заголовочном файле. Она принимает ссылку на вектор и выводит все его значения на экран
2. Создайте файл read.cpp и реализуйте в ней функцию, объявленную в заголовочном файле. Она принимает ссылку на вектор и заполняет его значениями, введенными пользователем с клавиатуры. Формат ввода - в первой строчке задается длина вектора, во второй - его элементы
3. В файле сценария сборки CMake пропишите создание библиотеки inoutlib из файлов read.cpp и print.cpp. Подключите ее к основной цели проекта
4. В файле main.cpp подключите заголовочный файл inout.h и протестируйте работу программы
Пример ввода:
5
6 3 2 1 4
Вывод:
1 2 3 4 6
Реализация функции print в файле print.cpp:
#include <iostream>
#include <vector>
#include "inout.h"
void print(const std::vector<int>& vec)
{
for (auto it = vec.begin(); it != vec.end(); ++it)
std::cout << *it << " ";
std::cout << std::endl;
}
Реализация функции read в файле read.cpp:
#include <iostream>
#include <vector>
#include "inout.h"
void read(std::vector<int>& vec)
{
int n;
std::cin >> n;
vec.resize(n);
for (int i = 0; i < n; ++i)
std::cin >> vec[i];
}
Пример файла CMakeLists.txt с созданием библиотеки и подключением к основной цели проекта:
cmake_minimum_required(VERSION 3.2)
project(my_project)
set(CMAKE_CXX_STANDARD 11)
add_library(inoutlib read.cpp print.cpp)
add_executable(my_executable main.cpp)
target_link_libraries(my_executable inoutlib)
Пример main.cpp для тестирования функций read и print:
#include
#include
#include "inout.h"
int main()
{
std::vector vec;
read(vec);
print(vec);
return 0;
}