Top.Mail.Ru
Ответы

Помогите решить дз по программированию в 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

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Просветленный
  1. Реализация функции 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;
}

  1. Реализация функции 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];
}

  1. Пример файла CMakeLists.txt с созданием библиотеки и подключением к основной цели проекта:

  2. cmake_minimum_required(VERSION 3.2)

  3. project(my_project)

  4. set(CMAKE_CXX_STANDARD 11)

  5. add_library(inoutlib read.cpp print.cpp)

  6. add_executable(my_executable main.cpp)

  7. target_link_libraries(my_executable inoutlib)

    1. Пример main.cpp для тестирования функций read и print:

  8. #include

    • #include

      • #include "inout.h"

      • int main()

      • {

      • std::vector vec;

        • read(vec);

        • print(vec);

        • return 0;

        • }