From 1de596dd9242b677d6b47b51db98ce98feb95465 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Mon, 14 Dec 2020 15:30:28 +0100 Subject: Updated cpp07 files with new subject --- cpp07/ex00/Makefile | 4 +-- cpp07/ex00/main.cpp | 83 +++++++++++++++++++++++++++++++++++++++++++++++++ cpp07/ex00/whatever.cpp | 55 -------------------------------- cpp07/ex00/whatever.hpp | 36 +++++++++++++++++++++ 4 files changed, 121 insertions(+), 57 deletions(-) create mode 100644 cpp07/ex00/main.cpp delete mode 100644 cpp07/ex00/whatever.cpp create mode 100644 cpp07/ex00/whatever.hpp (limited to 'cpp07/ex00') diff --git a/cpp07/ex00/Makefile b/cpp07/ex00/Makefile index 660a45b..33feff3 100644 --- a/cpp07/ex00/Makefile +++ b/cpp07/ex00/Makefile @@ -6,7 +6,7 @@ # By: charles +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2020/04/14 19:48:34 by charles #+# #+# # -# Updated: 2020/04/14 19:58:14 by charles ### ########.fr # +# Updated: 2020/12/14 14:41:32 by cacharle ### ########.fr # # # # **************************************************************************** # @@ -15,7 +15,7 @@ NAME = a_few_functions CXX = clang++ CXXFLAGS = -std=c++98 -Wall -Wextra -Werror -SRC = whatever.cpp +SRC = main.cpp OBJ = $(SRC:.cpp=.o) all: $(NAME) diff --git a/cpp07/ex00/main.cpp b/cpp07/ex00/main.cpp new file mode 100644 index 0000000..1c04faf --- /dev/null +++ b/cpp07/ex00/main.cpp @@ -0,0 +1,83 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/12/14 14:41:39 by cacharle #+# #+# */ +/* Updated: 2020/12/14 15:05:32 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include "whatever.hpp" + +int main() +{ + { + std::cout << "=================== SUBJECT MAIN ================" << std::endl; + int a = 2; + int b = 3; + ::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::string c = "chaine1"; + std::string d = "chaine2"; + ::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::cout << std::endl; + + { + double ad = 3.4; + double bd = 4.5; + float af = 3.4f; + float bf = 4.5f; + char ac = 'a'; + char bc = 'b'; + std::cout << "=================== SWAP ================" << std::endl; + ::swap(af, bf); + std::cout << "af = " << af << ", bf = " << bf << std::endl; + ::swap(ad, bd); + std::cout << "ad = " << ad << ", bd = " << bd << std::endl; + ::swap(ac, bc); + std::cout << "ac = " << ac << ", bc = " << bc << std::endl; + } + + std::cout << std::endl; + + double ad = 3.4; + double bd = 4.5; + float af = 3.4f; + float bf = 4.5f; + char ac = 'a'; + char bc = 'b'; + + + int same1 = 4; + int same2 = 4; + + std::cout << "=================== MIN ================" << std::endl; + std::cout << "min(af, bf) = " << ::min(af, bf) << std::endl; + std::cout << "min(ad, bd) = " << ::min(ad, bd) << std::endl; + std::cout << "min(ac, bc) = " << ::min(ac, bc) << std::endl; + int &minsame = ::min(same1, same2); + std::cout << "min(same1, same2) = " << minsame << ", address same2 = " << &same2 << ", address minsame = " << &minsame << std::endl; + + std::cout << std::endl; + + std::cout << "=================== MAX ================" << std::endl; + std::cout << "max(af, bf) = " << ::max(af, bf) << std::endl; + std::cout << "max(ad, bd) = " << ::max(ad, bd) << std::endl; + std::cout << "max(ac, bc) = " << ::max(ac, bc) << std::endl; + int &maxsame = ::max(same1, same2); + std::cout << "max(same1, same2) = " << maxsame << ", address same2 = " << &same2 << ", address maxsame = " << &maxsame << std::endl; + + return 0; +} diff --git a/cpp07/ex00/whatever.cpp b/cpp07/ex00/whatever.cpp deleted file mode 100644 index ebebf8c..0000000 --- a/cpp07/ex00/whatever.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* whatever.cpp :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: charles +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/04/14 19:46:56 by charles #+# #+# */ -/* Updated: 2020/04/14 20:01:41 by charles ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include -#include - -template -void swap(T& a, T& b) -{ - T tmp = a; - a = b; - b = tmp; -} - -template -T& min(T& a, T& b) -{ - return a < b ? a : b; -} - -template -T& max(T& a, T& b) -{ - return a > b ? a : b; -} - -int main() -{ - int a = 2; - int b = 3; - - ::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::string c = "chaine1"; - std::string d = "chaine2"; - - ::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; - - return 0; -} diff --git a/cpp07/ex00/whatever.hpp b/cpp07/ex00/whatever.hpp new file mode 100644 index 0000000..8768a44 --- /dev/null +++ b/cpp07/ex00/whatever.hpp @@ -0,0 +1,36 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* whatever.hpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/14 19:46:56 by charles #+# #+# */ +/* Updated: 2020/12/14 15:05:32 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef WHATEVER_HPP +# define WHATEVER_HPP + +template +void swap(T& a, T& b) +{ + T tmp(a); + a = b; + b = tmp; +} + +template +T& min(T& a, T& b) +{ + return a < b ? a : b; +} + +template +T& max(T& a, T& b) +{ + return a > b ? a : b; +} + +#endif -- cgit