diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2020-12-17 14:15:34 +0100 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2020-12-17 14:15:34 +0100 |
| commit | aa3ecdd6346b40ab53bd04861ca42cd6de09ab38 (patch) | |
| tree | c5a15ad2c86d7d0c8f7f457b8393bdeef5cf267e | |
| parent | 4f005e4cf461041e0f46a454f6b215cdf20cbf60 (diff) | |
| download | piscine_cpp-aa3ecdd6346b40ab53bd04861ca42cd6de09ab38.tar.gz piscine_cpp-aa3ecdd6346b40ab53bd04861ca42cd6de09ab38.tar.bz2 piscine_cpp-aa3ecdd6346b40ab53bd04861ca42cd6de09ab38.zip | |
| -rw-r--r-- | cpp08/ex01/main.cpp | 16 | ||||
| -rw-r--r-- | cpp08/ex01/span.cpp | 14 | ||||
| -rw-r--r-- | cpp08/ex01/span.hpp | 4 | ||||
| -rw-r--r-- | cpp08/ex02/mutantstack.hpp | 4 |
4 files changed, 30 insertions, 8 deletions
diff --git a/cpp08/ex01/main.cpp b/cpp08/ex01/main.cpp index c702748..a2fe3ba 100644 --- a/cpp08/ex01/main.cpp +++ b/cpp08/ex01/main.cpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/15 06:50:51 by charles #+# #+# */ -/* Updated: 2020/12/15 13:52:20 by cacharle ### ########.fr */ +/* Updated: 2020/12/17 14:11:02 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,6 +32,20 @@ int main() std::cout << std::endl; { + std::cout << "======================== NOT FIRST =======================" << std::endl; + Span sp = Span(5); + sp.addNumber(5); + sp.addNumber(3); + sp.addNumber(17); + sp.addNumber(10); + sp.addNumber(11); + std::cout << sp.shortestSpan() << std::endl; + std::cout << sp.longestSpan() << std::endl; + } + + std::cout << std::endl; + + { std::cout << "======================== DEFAULT CONSTRUCTOR =======================" << std::endl; Span p; try { p.addNumber(0); } catch (std::exception &e) { std::cout << e.what() << std::endl; } diff --git a/cpp08/ex01/span.cpp b/cpp08/ex01/span.cpp index ab17049..4bab0fc 100644 --- a/cpp08/ex01/span.cpp +++ b/cpp08/ex01/span.cpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/15 06:57:44 by charles #+# #+# */ -/* Updated: 2020/12/15 12:11:38 by cacharle ### ########.fr */ +/* Updated: 2020/12/17 14:12:43 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,7 +24,7 @@ Span::Span(Span const& other) m_under[i] = other.m_under[i]; } -void Span::operator=(Span const& other) +Span& Span::operator=(Span const& other) { delete [] m_under; m_size = other.m_size; @@ -32,6 +32,7 @@ void Span::operator=(Span const& other) m_fillIndex = other.m_fillIndex; for (unsigned int i = 0; i < m_fillIndex; i++) m_under[i] = other.m_under[i]; + return *this; } Span::~Span() { delete [] m_under; } @@ -50,7 +51,14 @@ void Span::addNumber(int x) int Span::shortestSpan() const { setupSpan(); - return m_under[1] - m_under[0]; + int shortest = m_under[m_fillIndex - 1] - m_under[0]; + for (size_t i = 0; i < m_fillIndex - 1; i++) + { + int span = m_under[i + 1] - m_under[i]; + if (span < shortest) + shortest = span; + } + return shortest; } int Span::longestSpan() const diff --git a/cpp08/ex01/span.hpp b/cpp08/ex01/span.hpp index 6b72fb5..4edf90f 100644 --- a/cpp08/ex01/span.hpp +++ b/cpp08/ex01/span.hpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/15 06:55:07 by charles #+# #+# */ -/* Updated: 2020/12/15 12:22:31 by cacharle ### ########.fr */ +/* Updated: 2020/12/17 14:07:09 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,7 +20,7 @@ class Span public: Span(); Span(Span const& other); - void operator=(Span const& other); + Span& operator=(Span const& other); ~Span(); Span(unsigned int n); diff --git a/cpp08/ex02/mutantstack.hpp b/cpp08/ex02/mutantstack.hpp index 24a01de..4d7176b 100644 --- a/cpp08/ex02/mutantstack.hpp +++ b/cpp08/ex02/mutantstack.hpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/15 07:29:42 by charles #+# #+# */ -/* Updated: 2020/12/17 11:26:44 by cacharle ### ########.fr */ +/* Updated: 2020/12/17 14:06:59 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -30,7 +30,7 @@ public: return *this; } - ~MutantStack() {} + virtual ~MutantStack() {} class iterator { |
