функция которая вычисляет значение в векторе
Задание:
Напишите функции для вычисления модуля числа. Разработайте четыре функции, которые будут оперировать со следующими типами данных: int, float, double, vector
Предыдущие типы данных уже обработаны. Проблемы возникли с созданием последнего. Нужно написать функцию, которая будет вычислять значение в векторе. Есть возможность воспользоваться методом push_back, но я не понимаю для чего. При реализации функции для вектора можно использовать версию ComputeAbs, работающую с int, но с этим у меня также возникли сложности.
Файл main.cpp: (В нем ничего менять не нужно)
cout << "|100| = "s << ComputeAbs(100) << endl;
cout << "|0| = "s << ComputeAbs(0) << endl;
cout << "|-50| = "s << ComputeAbs(-50) << endl;
// Тестируем версию float. Можно задать значение float
// добавив после цифр букву f
cout << "|3.141592f| = "s << ComputeAbs(3.141592f) << endl;
cout << "|0.f| = "s << ComputeAbs(0.f) << endl;
cout << "|-3.141592f| = "s << ComputeAbs(-3.141592f) << endl;
// Тестируем версию double
cout << "|3.141592| = "s << ComputeAbs(3.141592) << endl;
cout << "|0| = "s << ComputeAbs(0) << endl;
cout << "|-3.141592| = "s << ComputeAbs(-3.141592) << endl;
// Тестируем версию vector
int idx = 0;
vector input_data = {10, 20, -30, -50, 100};
for (int x : ComputeAbs(input_data)) {
// Операция ++ увеличивает значение целочисленной переменной на 1.
// Результатом операции ++ становится значение до увеличения.
cout << "|"s << input_data[idx++] << "| = "s << x << endl;
}
Файл functions.cpp:
int ComputeAbs(int v){
if(v>=0){
return v;
}
else{
return - v;
}
}
float ComputeAbs(float v){
if(v>=0){
return v;
}
else{
return - v;
}
}
double ComputeAbs(double v){
if(v>=0){
return v;
}
else{
return - v;
}
}
vector<int> ComputeAbs(vector<int> v){
for(int k : vector<int> v)){
if(k>=0){
return k;
}
else{
return -v;
}
}
}