From 93f06c3b6da1988c0e7b58c381b543f33a325913 Mon Sep 17 00:00:00 2001 From: lfirmin Date: Mon, 30 Mar 2026 05:03:17 +0200 Subject: [PATCH] push --- ex01/Span | Bin 48576 -> 0 bytes ex01/Span.cpp | 7 +++++- ex01/obj/Main.o | Bin 36120 -> 0 bytes ex01/obj/Span.o | Bin 90104 -> 0 bytes ex02/Main.cpp | 50 +++++++++++++++++++++++++++++++++++++++++++ ex02/Makefile | 36 +++++++++++++++++++++++++++++++ ex02/MutantStack.hpp | 30 ++++++++++++++++++++++++++ 7 files changed, 122 insertions(+), 1 deletion(-) delete mode 100755 ex01/Span delete mode 100644 ex01/obj/Main.o delete mode 100644 ex01/obj/Span.o create mode 100644 ex02/Main.cpp create mode 100644 ex02/Makefile create mode 100644 ex02/MutantStack.hpp diff --git a/ex01/Span b/ex01/Span deleted file mode 100755 index 5766e5555b6644206e0650d3f90f100ecd87b3cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48576 zcmeHweSBP1(f>`Flz@c>q*C7O@?KsVk~A$TZ%tpeY-n0S(?F?|+ikLK7V<{2X;Up2 zOu?>ccnTs`ELwT+u?k{Ee5{HPUQ>Ol6c7wpCHMetXq8X_qn7UPJ9FmTd+yEMv{rpS zzdyW?&OI}8=FFKhXU?2+@9us&Trnp*E6dW?DC<&-N}-P`OqmcmzArZbWmc(mB>p|c z3R$C3&S9LQmni_My85!cFi-HK0IA-1x(R?MDYT`b){r38%XBr5RTK@ad{w4;xpXUK zKm5&wicdpLciO8|bjt^qo~ZB|n)S#wTj~{k%Nj3imVR&5oe{mrTvV@L>h()K4fDmG z8ftrz82T#}xqes(8eJOt>(xm;Kb)M~)P8n;eSF!}lJo0pC)LLr+uA3!mrk8DwWOf6si2ruAiYBP zBcHl#ezk>R=^>nmv$8u>S<55Zu|g;QJJx;srO=w|CtW;y-(#oUckQ=6oc{D1#6x;h z9pa&j^Jx(^YKu2b;$eC!tu$8H=m>%(XM^kqf{{4*PsjtRgo$$v9YaQ^XSmUkj5_iWdv}M`$iiV~}yEPGQN!Ye!moJ=W z*T!06E8?w*Sj)nBv+A1~V+*6p>SKx)Oj%r&C@!?^L|seMD!V?`xFS(!$68vNS}Nz( zSoY%iRZaD+;W*z#%WJ~3i^3~Ws7jQ?8f)vzYpN1OMKyKN7CX@rjVD^c5nce?E9?V9%XqN1W=RUNhC zjVpp0sUls%vx>sda>3lH$s)Kk-qdQNZmgudF`jS)Qx_`dEU0R#vcoW2O?y=Jmpf8~ zR#oqpMQiP7eSK36ddN)6V9Q3kCYq?J18Z%4r6w>}G!e67?KQFHM7*hyMx(vmZjQCI zHZ?};xPbQ((xM0=cC!c?fa!LF&h!CoGX*IVFjP1M$$doC@K zQ>nP32GyxlM5P*qziieldvZacby-FE%vpAEL5XuW*}W|;n4-{&7J<2>pm>_MSY*vw zv}nf6a=WNtvPq%InvFG6{pI3rv~?KrqHOsu59>A2=-(Vb`Y#*n=i&Ts7GsH**4Hen z2r*s9v&u79f5ZY`IW5RcA7xD!dKt>c#^Xm?R-SdG;2yc-ZYgQOe3XSBg9{M7hJKn$wQiB}i{H5csm3U4gOn3z--#41+xjxfbm{z3=XIQH z0KZk@n8yF@W6W-C^Wo2?z>2HKhwqVnKwbxv(L;e!?)kJTQ!WxxxBTyR11~Bvey4%g zvWU=U;E!fb^-sTnKf%DK4E)Ike$c>w+`tbR_z4C+ze5!${2yoFb^NFN?o

*9*d* zV&L;c{$aq$Qo_`H15bXXuki++@;-fq3_P`=uZad;<$a1$XyB=BeU%z`IG%Hr8Tca{ ztYt+EJRIG*Dh>P?2Wwf23_Kj)xt1FEqa3Vd)fsr%qA|7E!0Viy2<-;m%;!1`ytpRI zS!duW&(_xl13yk90XG_WnG#IhY~Y=>ACxTy{&+*qRs%0vL8fjq@FyAk|G(Y-Y3#@U z8tL4V7wO7;#MW>xi;<;PrGmy@AW* z@OuZIcgp1Gdk3Cy$`k6FQ__YTZ(%H+^{2a23BIr83tQ=Bq6@ZN!=oiaJ@-hnKqOb)wu;NAVY zzvQUszf-1wh5kEba#-}=DU+k3|4x}46#aL~t_@=Lz*&wb@* zeC40`%HQ{uzwIl3-B-TXEEoNuJo)@}k>u|poo@_QE({m-6#X>PeaX)-O6hT3;Cyd+ z!Pp6FQN#r5zT^pDBHg(^A~0mMY5iaJikA2EChr_Kwi3kIgh)pPxG(il3QVZtL@zCNarPQ-+*HA>OpurBWRWqVl~{I5j4#SQKu0!F9>n9M$kkh#2k&FnMsH#f}s0zF&&c6 z!h)O86+%QX5h7jVj_2abgt;4Cq9*CS0<(+RZxr_975m%QQ*CBnq1Zc!eF}n8Z@A|i zYPh?ax&}0J(bgCg3T8e^x1!Vxr?e^x1t?#gYZT>z;gsp1pxGYBqKgqvlpejQKN2zd zlrDari%$@HB>8G2`3vg82{5$6^rrUf-nVjhds8P;U%STbiIW`eS9~8E3j%sm6JTdH z)@)(lL&UCeKXKVF1m?%k+G(QAQ13Wc2TgA#SxbOV_C>m?Q?-$Ek7ajBT(LVsj--0P zEnWbw-G{lz4yw8n;!PyWJCfRgK+u;%ht%_bBh{7+{q!mAn{dti&YH#W&3=yR9N~kB$crc{EkRpao9>XWO*cHJ_3v?HH z%46A1L}7dbI_&NOtw_nC|wy%w(JdW6Bcx#H}xNif z3jOD4mLt?G2N{|r^M!j`1QQ+iJ)WLtk)uJ!%KQzup@^;$fU#@uM%M?{;~y26dQ-{w z(Q@Za+pM_PON=2$6z=;P9xCbv*&Pb0_{Yl?jWI^4Yo1150Y69$q9KWf zsnb6ooA;4r%W<1}gp}|u4%&k`(ok>Vj`ksIf!??n_K9>k-Z+yg?kX!Yk o6Ie_H3cD_wjdU9qA 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.size() >= this->_n) throw std::out_of_range("Span vector is full"); + if (this->_vec.size() < this->_n) this->_vec.push_back(x); } @@ -38,6 +39,7 @@ int Span::longestSpan() const { if (_vec.empty() || _vec.size() == 1) throw std::out_of_range("Span vector has less than 2 values"); + std::vector::const_iterator maxIt = std::max_element(_vec.begin(), _vec.end()); std::vector::const_iterator minIt = std::min_element(_vec.begin(), _vec.end()); return (*maxIt - *minIt); @@ -47,10 +49,13 @@ int Span::shortestSpan() const { if (_vec.empty() || _vec.size() == 1) throw std::out_of_range("Span vector has less than 2 values"); + std::vector tempvec = _vec; std::sort(tempvec.begin(), tempvec.end()); int minspan = std::numeric_limits::max(); - for (size_t i = 0; i < _vec.size() - 1; ++i) { + + for (size_t i = 0; i < _vec.size() - 1; ++i) + { int tempspan = tempvec[i + 1] - tempvec[i]; if (tempspan < minspan) minspan = tempspan; diff --git a/ex01/obj/Main.o b/ex01/obj/Main.o deleted file mode 100644 index 4ca57102f2b5458c9c8e99dd1afbc3a191210fec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36120 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 Me*~d@Jn8)Z2jCS}k^lez diff --git a/ex01/obj/Span.o b/ex01/obj/Span.o deleted file mode 100644 index 5d48f9a60c21d1d400b39ccc95f18a5490426802..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90104 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 V52Oqi{fb{}iY96w29_7Y{{<@Sz + +int main() +{ + // TEST 1 - MutantStack + std::cout << "test 1" << std::endl << std::endl; + MutantStack mstack; + mstack.push(5); + mstack.push(17); + std::cout << mstack.top() << std::endl; + mstack.pop(); + std::cout << mstack.size() << std::endl; + mstack.push(3); + mstack.push(5); + mstack.push(737); + mstack.push(0); + MutantStack::iterator it = mstack.begin(); + MutantStack::iterator ite = mstack.end(); + ++it; + --it; + while (it != ite) { + std::cout << *it << std::endl; + ++it; + } + std::stack s(mstack); + + std::cout << std::endl << "test 2" << std::endl << std::endl; + // TEST 2 - std::list (mΓͺme comportement attendu) + std::list mlist; + mlist.push_back(5); + mlist.push_back(17); + std::cout << mlist.back() << std::endl; + mlist.pop_back(); + std::cout << mlist.size() << std::endl; + mlist.push_back(3); + mlist.push_back(5); + mlist.push_back(737); + mlist.push_back(0); + std::list::iterator it2 = mlist.begin(); + std::list::iterator ite2 = mlist.end(); + ++it2; + --it2; + while (it2 != ite2) { + std::cout << *it2 << std::endl; + ++it2; + } + + return 0; +} diff --git a/ex02/Makefile b/ex02/Makefile new file mode 100644 index 0000000..fd66934 --- /dev/null +++ b/ex02/Makefile @@ -0,0 +1,36 @@ +CXX = c++ +CXXFLAGS = -Wall -Wextra -Werror -std=c++98 +OBJDIR = obj +SOURCES = Main.cpp +OBJECTS = $(addprefix $(OBJDIR)/, $(SOURCES:.cpp=.o)) +NAME = Mstack + +all: $(NAME) + +$(OBJDIR): + @echo "πŸ“ Creating obj directory..." + @mkdir -p $(OBJDIR) + +$(OBJDIR)/%.o: %.cpp | $(OBJDIR) + @echo "🧠 Compiling $< ..." + @$(CXX) $(CXXFLAGS) -c $< -o $@ + @echo "βœ… $@ ready!" + +$(NAME): $(OBJECTS) + @echo "πŸ”— Linking $(NAME) ..." + @$(CXX) $(CXXFLAGS) $(OBJECTS) -o $(NAME) + @echo "πŸŽ‰ $(NAME) is ready!" + +clean: + @echo "🧹 Cleaning object files..." + @rm -rf $(OBJDIR) + @echo "✨ Objects cleaned!" + +fclean: clean + @echo "πŸ—‘οΈ Removing $(NAME)..." + @rm -f $(NAME) + @echo "πŸ’€ Full clean complete!" + +re: fclean all + +.PHONY: all clean fclean re diff --git a/ex02/MutantStack.hpp b/ex02/MutantStack.hpp new file mode 100644 index 0000000..7fd48ce --- /dev/null +++ b/ex02/MutantStack.hpp @@ -0,0 +1,30 @@ +#ifndef MUTANTSTACK_HPP +#define MUTANTSTACK_HPP + +#include +#include +template +class MutantStack : public std::stack +{ + public: + MutantStack() {}; + ~MutantStack() {}; + MutantStack(const MutantStack &other) {this = other;}; + MutantStack &operator=(const MutantStack &other); + + typedef typename std::stack::container_type::iterator iterator; + typedef typename std::stack::container_type::const_iterator const_iterator; + typedef typename std::stack::container_type::reverse_iterator reverse_iterator; + typedef typename std::stack::container_type::const_reverse_iterator const_reverse_iterator; + + iterator begin() {return this->c.begin();} + iterator end() {return this->c.end();} + const_iterator begin() const {return this->c.begin();} + const_iterator end() const {return this->c.end();} + reverse_iterator rbegin() {return this->c.rbegin();} + reverse_iterator rend() {return this->c.rend();} + const_reverse_iterator rbegin() const {return this->c.rbegin();} + const_reverse_iterator rend() const {return this->c.rend();} +}; + +#endif