push ex02

This commit is contained in:
LEO FIRMIN 2026-05-06 19:19:42 +02:00
parent 59a5285555
commit 7376c1abca
4 changed files with 107 additions and 0 deletions

0
ex02/Main.cpp Normal file
View File

36
ex02/Makefile Normal file
View File

@ -0,0 +1,36 @@
CXX = c++
CXXFLAGS = -Wall -Wextra -Werror -std=c++98
OBJDIR = obj
SOURCES = Main.cpp RPN.cpp
OBJECTS = $(addprefix $(OBJDIR)/, $(SOURCES:.cpp=.o))
NAME = RPN
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

36
ex02/PmergeMe.cpp Normal file
View File

@ -0,0 +1,36 @@
#include "PmergeMe.hpp"
PmergeMe::PmergeMe()
{
}
PmergeMe::PmergeMe(const PmergeMe &other)
{
this->_vec = other._vec;
this->_deq = other._deq;
}
PmergeMe &PmergeMe::operator=(const PmergeMe &other)
{
this->_vec = other._vec;
this->_deq = other._deq;
return (*this);
}
PmergeMe::~PmergeMe()
{
}
void PmergeMe::printDeque() const
{
for (std::deque<int>::const_iterator it = _deq.begin(); it != _deq.end(); ++it)
std::cout << *it << " ";
std::cout << std::endl;
}
void PmergeMe::printVector() const
{
for (std::vector<int>::const_iterator it = _vec.begin(); it != _vec.end(); ++it)
std::cout << *it << " ";
std::cout << std::endl;
}

35
ex02/PmergeMe.hpp Normal file
View File

@ -0,0 +1,35 @@
#ifndef PMERGEME_HPP
# define PMERGEME_HPP
# include <vector>
# include <deque>
# include <string>
# include <stdexcept>
# include <iostream>
# include <ctime>
# include <sstream>
class PmergeMe
{
public:
PmergeMe();
PmergeMe(const PmergeMe &other);
PmergeMe &operator=(const PmergeMe &other);
~PmergeMe();
void run(int ac, char **av);
private:
std::vector<int> _vec;
std::deque<int> _deq;
void parseInput(int ac, char **av);
void sortVector();
void sortDeque();
void printDeque() const;
void printVector() const;
};
#endif