From cd9912e9fc81ab63f91b61f4a4efa3f6467ce622 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 4 Feb 2026 00:58:05 +0000 Subject: [PATCH] first commit --- ex00/Main.cpp | 34 ++++++++++++++++++++++++++++++++++ ex00/Makefile | 36 ++++++++++++++++++++++++++++++++++++ ex00/Whatever.hpp | 29 +++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 ex00/Main.cpp create mode 100644 ex00/Makefile create mode 100644 ex00/Whatever.hpp diff --git a/ex00/Main.cpp b/ex00/Main.cpp new file mode 100644 index 0000000..94f735d --- /dev/null +++ b/ex00/Main.cpp @@ -0,0 +1,34 @@ +#include "Whatever.hpp" +#include +#include + +int main( void ) { + int a = 2; + int b = 3; + std::cout << "a = " << a << ", b = " << b << std::endl; + + std::cout << "Swap"<< std::endl; + ::swap( a, b ); + std::cout << "a = " << a << ", b = " << b << std::endl; + std::cout << "min( a, b ) = " << ::min( a, b ) << std::endl; + std::cout << "max( a, b ) = " << ::max( a, b ) << std::endl << std::endl; + + std::string c = "chaine1"; + std::string d = "chaine2"; + std::cout << "c = " << c << ", d = " << d << std::endl; + + std::cout << "Swap"<< std::endl; + ::swap(c, d); + std::cout << "c = " << c << ", d = " << d << std::endl; + std::cout << "min( c, d ) = " << ::min( c, d ) << std::endl; + std::cout << "max( c, d ) = " << ::max( c, d ) << std::endl << std::endl; + + double e = 42.0; + double f = 42.0; + + std::cout << "e = " << e << ", f = " << f << std::endl; + std::cout << "min( e, f ) = " << ::min( e, f ) << std::endl; + std::cout << "max( e, f ) = " << ::max( e, f ) << std::endl; + + return 0; +} \ No newline at end of file diff --git a/ex00/Makefile b/ex00/Makefile new file mode 100644 index 0000000..fb2c3b1 --- /dev/null +++ b/ex00/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 = Whatever + +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/ex00/Whatever.hpp b/ex00/Whatever.hpp new file mode 100644 index 0000000..8acde47 --- /dev/null +++ b/ex00/Whatever.hpp @@ -0,0 +1,29 @@ +#ifndef WHATEVER_HPP +#define WHATEVER_HPP + +template +void swap(val &a, val &b) +{ + val c; + c = a; + a = b; + b = c; +} + +template +val min(val a, val b) +{ + if (a < b) + return a; + return b; +} + +template +val max(val a, val b) +{ + if (a > b) + return a; + return b; +} + +#endif \ No newline at end of file