feat(08 ex01): adding the multiple numbers in single call
This commit is contained in:
parent
59e5b448f2
commit
eb1cebe50b
2 changed files with 33 additions and 2 deletions
|
|
@ -40,6 +40,21 @@ Span::~Span() {
|
||||||
std::cout << CLR_MAGENTA << "[Span] Destructor called" << CLR_RESET << std::endl;
|
std::cout << CLR_MAGENTA << "[Span] Destructor called" << CLR_RESET << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Add a number at the end of the vector
|
||||||
|
*
|
||||||
|
* @param number the number to add
|
||||||
|
*/
|
||||||
|
void Span::addNumbers(std::vector<int>::iterator start, std::vector<int>::iterator end) {
|
||||||
|
size_t count = std::distance(start, end);
|
||||||
|
if (_max < _size + count) {
|
||||||
|
throw std::out_of_range("Span is full");
|
||||||
|
}
|
||||||
|
_size += count;
|
||||||
|
|
||||||
|
_vec.insert(_vec.end(), start, end);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Add a number at the end of the vector
|
* @brief Add a number at the end of the vector
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
|
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/03 14:09:32 by rparodi #+# #+# */
|
/* Created: 2025/04/03 14:09:32 by rparodi #+# #+# */
|
||||||
/* Updated: 2025/04/03 15:21:18 by rparodi ### ########.fr */
|
/* Updated: 2025/04/04 15:07:59 by rparodi ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
@ -24,8 +24,24 @@ int main() {
|
||||||
std::cout << CLR_BLUE << "Shortest span: " << CLR_GOLD << sp.shortestSpan() << CLR_RESET << std::endl;
|
std::cout << CLR_BLUE << "Shortest span: " << CLR_GOLD << sp.shortestSpan() << CLR_RESET << std::endl;
|
||||||
std::cout << CLR_BLUE << "Longest span: " << CLR_GOLD << sp.longestSpan() << CLR_RESET << std::endl;
|
std::cout << CLR_BLUE << "Longest span: " << CLR_GOLD << sp.longestSpan() << CLR_RESET << std::endl;
|
||||||
} catch (std::exception &e) {
|
} catch (std::exception &e) {
|
||||||
std::cerr << CLR_RED << "Exception: " << e.what() << CLR_RESET << std::endl;
|
std::cerr << CLR_RED << "Error: " << e.what() << CLR_RESET << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
std::cout << std::endl<< CLR_YELLOW << "[ AddNumbers method ]" << CLR_RESET << std::endl;
|
||||||
|
Span sp = Span(2);
|
||||||
|
std::vector<int> vec;
|
||||||
|
vec.push_back(7);
|
||||||
|
vec.push_back(13);
|
||||||
|
sp.addNumbers(vec.begin(), vec.end());
|
||||||
|
std::cout << CLR_BLUE << "Shortest span: " << CLR_GOLD << sp.shortestSpan() << CLR_RESET << std::endl;
|
||||||
|
std::cout << CLR_BLUE << "Longest span: " << CLR_GOLD << sp.longestSpan() << CLR_RESET << std::endl;
|
||||||
|
vec.clear();
|
||||||
|
vec.push_back(42);
|
||||||
|
vec.push_back(21);
|
||||||
|
sp.addNumbers(vec.begin(), vec.end());
|
||||||
|
} catch (std::exception(&e)) {
|
||||||
|
std::cerr << CLR_RED << "Error: " << e.what() << CLR_RESET << std::endl;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue