push ex02
This commit is contained in:
parent
7376c1abca
commit
0f3bacbfcf
|
|
@ -0,0 +1,15 @@
|
|||
#include "PmergeMe.hpp"
|
||||
|
||||
int main(int ac, char **av)
|
||||
{
|
||||
PmergeMe pm;
|
||||
try {
|
||||
pm.parseInput(ac, av);
|
||||
pm.printVector();
|
||||
pm.printDeque();
|
||||
} catch (const std::exception &e) {
|
||||
std::cerr << e.what() << std::endl;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
CXX = c++
|
||||
CXXFLAGS = -Wall -Wextra -Werror -std=c++98
|
||||
OBJDIR = obj
|
||||
SOURCES = Main.cpp RPN.cpp
|
||||
SOURCES = Main.cpp PmergeMe.cpp
|
||||
OBJECTS = $(addprefix $(OBJDIR)/, $(SOURCES:.cpp=.o))
|
||||
NAME = RPN
|
||||
NAME = PmergeMe
|
||||
|
||||
all: $(NAME)
|
||||
|
||||
|
|
|
|||
|
|
@ -34,3 +34,24 @@ void PmergeMe::printVector() const
|
|||
std::cout << *it << " ";
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
void PmergeMe::parseInput(int ac, char **av)
|
||||
{
|
||||
std::string token;
|
||||
int n;
|
||||
|
||||
for (int i = 1; i < ac; i++) {
|
||||
std::istringstream ss(av[i]);
|
||||
while (ss >> token) {
|
||||
std::istringstream iss(token);
|
||||
if (!(iss >> n) || !iss.eof() || n < 0)
|
||||
throw std::runtime_error("Error");
|
||||
if (std::find(_vec.begin(), _vec.end(), n) != _vec.end())
|
||||
throw std::runtime_error("Error");
|
||||
_vec.push_back(n);
|
||||
_deq.push_back(n);
|
||||
}
|
||||
}
|
||||
if (_vec.empty())
|
||||
throw std::runtime_error("Error");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,14 @@
|
|||
#ifndef PMERGEME_HPP
|
||||
# define PMERGEME_HPP
|
||||
|
||||
# include <vector>
|
||||
# include <deque>
|
||||
# include <string>
|
||||
# include <stdexcept>
|
||||
# include <iostream>
|
||||
# include <ctime>
|
||||
# include <sstream>
|
||||
#include <algorithm>
|
||||
#include <ctime>
|
||||
#include <deque>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class PmergeMe
|
||||
{
|
||||
|
|
@ -23,13 +24,15 @@ class PmergeMe
|
|||
std::vector<int> _vec;
|
||||
std::deque<int> _deq;
|
||||
|
||||
void parseInput(int ac, char **av);
|
||||
void printDeque() const;
|
||||
void printVector() const;
|
||||
|
||||
void parseInput(int ac, char **av);
|
||||
|
||||
void sortVector();
|
||||
void sortDeque();
|
||||
|
||||
void printDeque() const;
|
||||
void printVector() const;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue