From 65488e562daf7d46ba134ba5faf33e1405ffe8cb Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Wed, 5 Aug 2020 04:44:11 +0100 Subject: - Added solutions by Walt Mankowski. --- challenge-072/walt-mankowski/c++/.gitignore | 2 -- challenge-072/walt-mankowski/c++/Makefile | 23 ---------------------- challenge-072/walt-mankowski/c++/ch-1.cpp | 30 ----------------------------- challenge-072/walt-mankowski/c++/ch-2.cpp | 29 ---------------------------- challenge-072/walt-mankowski/c++/input.txt | 1 - challenge-072/walt-mankowski/cpp/.gitignore | 2 ++ challenge-072/walt-mankowski/cpp/Makefile | 23 ++++++++++++++++++++++ challenge-072/walt-mankowski/cpp/ch-1.cpp | 30 +++++++++++++++++++++++++++++ challenge-072/walt-mankowski/cpp/ch-2.cpp | 29 ++++++++++++++++++++++++++++ challenge-072/walt-mankowski/cpp/input.txt | 1 + 10 files changed, 85 insertions(+), 85 deletions(-) delete mode 100644 challenge-072/walt-mankowski/c++/.gitignore delete mode 100644 challenge-072/walt-mankowski/c++/Makefile delete mode 100644 challenge-072/walt-mankowski/c++/ch-1.cpp delete mode 100644 challenge-072/walt-mankowski/c++/ch-2.cpp delete mode 120000 challenge-072/walt-mankowski/c++/input.txt create mode 100644 challenge-072/walt-mankowski/cpp/.gitignore create mode 100644 challenge-072/walt-mankowski/cpp/Makefile create mode 100644 challenge-072/walt-mankowski/cpp/ch-1.cpp create mode 100644 challenge-072/walt-mankowski/cpp/ch-2.cpp create mode 120000 challenge-072/walt-mankowski/cpp/input.txt (limited to 'challenge-072') diff --git a/challenge-072/walt-mankowski/c++/.gitignore b/challenge-072/walt-mankowski/c++/.gitignore deleted file mode 100644 index ac77297bfe..0000000000 --- a/challenge-072/walt-mankowski/c++/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -ch-1 -ch-2 diff --git a/challenge-072/walt-mankowski/c++/Makefile b/challenge-072/walt-mankowski/c++/Makefile deleted file mode 100644 index 0192513d07..0000000000 --- a/challenge-072/walt-mankowski/c++/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -CPP = /usr/bin/c++ -INCLDIRS = -LIBDIRS = -LIBS = -CFLAGS = -std=c++17 -Wall -O3 $(INCLDIRS) -OBJECTS1 = ch-1.o -OBJECTS2 = ch-2.o - -all: ch-1 ch-2 - -%.o: %.cpp - $(CPP) $(CFLAGS) -c $< - -ch-1: $(OBJECTS1) - $(CPP) -o $@ $(OBJECTS1) $(LIBDIRS) $(LIBS) - -ch-2: $(OBJECTS2) - $(CPP) -o $@ $(OBJECTS2) $(LIBDIRS) $(LIBS) - -clean: - rm -f *~ - rm -f *.o - rm -f ch-1 ch-2 diff --git a/challenge-072/walt-mankowski/c++/ch-1.cpp b/challenge-072/walt-mankowski/c++/ch-1.cpp deleted file mode 100644 index ba8c614fa1..0000000000 --- a/challenge-072/walt-mankowski/c++/ch-1.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include -#include - -using namespace std; - -const unsigned long long fact(const int n) { - unsigned long long res = 1; - for (int i = 2; i <= n; i++) - res *= i; - return res; -} - -const int num_trailing_zeros(const unsigned long long n) { - int cnt = 0; - unsigned long long pwr = 10; - while (n % pwr == 0) { - cnt++; - pwr *= 10; - } - return cnt; -} - -int main(int argc, char *argv[]) { - int n = atoi(argv[1]); - unsigned long long f = fact(n); - int z = num_trailing_zeros(f); - string zeros = (z == 1) ? "zero" : "zeros"; - cout << n << " as N! = " << f << " has " << z << " trailing " << zeros << endl; -} diff --git a/challenge-072/walt-mankowski/c++/ch-2.cpp b/challenge-072/walt-mankowski/c++/ch-2.cpp deleted file mode 100644 index 03f5d1c067..0000000000 --- a/challenge-072/walt-mankowski/c++/ch-2.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include -#include - -using namespace std; - -int main(int argc, char *argv[]) { - const string fname = argv[1]; - const int a = atoi(argv[2]); - const int b = atoi(argv[3]); - - ifstream infile(fname); - if (!infile) { - perror(fname.c_str()); - exit(1); - } - - int lineno = 1; - string s; - while (infile >> s) { - if (a <= lineno && lineno <= b) - cout << s << endl; - lineno++; - if (lineno > b) - break; - } -} diff --git a/challenge-072/walt-mankowski/c++/input.txt b/challenge-072/walt-mankowski/c++/input.txt deleted file mode 120000 index 9d20b30bd1..0000000000 --- a/challenge-072/walt-mankowski/c++/input.txt +++ /dev/null @@ -1 +0,0 @@ -../perl/input.txt \ No newline at end of file diff --git a/challenge-072/walt-mankowski/cpp/.gitignore b/challenge-072/walt-mankowski/cpp/.gitignore new file mode 100644 index 0000000000..ac77297bfe --- /dev/null +++ b/challenge-072/walt-mankowski/cpp/.gitignore @@ -0,0 +1,2 @@ +ch-1 +ch-2 diff --git a/challenge-072/walt-mankowski/cpp/Makefile b/challenge-072/walt-mankowski/cpp/Makefile new file mode 100644 index 0000000000..0192513d07 --- /dev/null +++ b/challenge-072/walt-mankowski/cpp/Makefile @@ -0,0 +1,23 @@ +CPP = /usr/bin/c++ +INCLDIRS = +LIBDIRS = +LIBS = +CFLAGS = -std=c++17 -Wall -O3 $(INCLDIRS) +OBJECTS1 = ch-1.o +OBJECTS2 = ch-2.o + +all: ch-1 ch-2 + +%.o: %.cpp + $(CPP) $(CFLAGS) -c $< + +ch-1: $(OBJECTS1) + $(CPP) -o $@ $(OBJECTS1) $(LIBDIRS) $(LIBS) + +ch-2: $(OBJECTS2) + $(CPP) -o $@ $(OBJECTS2) $(LIBDIRS) $(LIBS) + +clean: + rm -f *~ + rm -f *.o + rm -f ch-1 ch-2 diff --git a/challenge-072/walt-mankowski/cpp/ch-1.cpp b/challenge-072/walt-mankowski/cpp/ch-1.cpp new file mode 100644 index 0000000000..ba8c614fa1 --- /dev/null +++ b/challenge-072/walt-mankowski/cpp/ch-1.cpp @@ -0,0 +1,30 @@ +#include +#include +#include + +using namespace std; + +const unsigned long long fact(const int n) { + unsigned long long res = 1; + for (int i = 2; i <= n; i++) + res *= i; + return res; +} + +const int num_trailing_zeros(const unsigned long long n) { + int cnt = 0; + unsigned long long pwr = 10; + while (n % pwr == 0) { + cnt++; + pwr *= 10; + } + return cnt; +} + +int main(int argc, char *argv[]) { + int n = atoi(argv[1]); + unsigned long long f = fact(n); + int z = num_trailing_zeros(f); + string zeros = (z == 1) ? "zero" : "zeros"; + cout << n << " as N! = " << f << " has " << z << " trailing " << zeros << endl; +} diff --git a/challenge-072/walt-mankowski/cpp/ch-2.cpp b/challenge-072/walt-mankowski/cpp/ch-2.cpp new file mode 100644 index 0000000000..03f5d1c067 --- /dev/null +++ b/challenge-072/walt-mankowski/cpp/ch-2.cpp @@ -0,0 +1,29 @@ +#include +#include +#include +#include +#include + +using namespace std; + +int main(int argc, char *argv[]) { + const string fname = argv[1]; + const int a = atoi(argv[2]); + const int b = atoi(argv[3]); + + ifstream infile(fname); + if (!infile) { + perror(fname.c_str()); + exit(1); + } + + int lineno = 1; + string s; + while (infile >> s) { + if (a <= lineno && lineno <= b) + cout << s << endl; + lineno++; + if (lineno > b) + break; + } +} diff --git a/challenge-072/walt-mankowski/cpp/input.txt b/challenge-072/walt-mankowski/cpp/input.txt new file mode 120000 index 0000000000..9d20b30bd1 --- /dev/null +++ b/challenge-072/walt-mankowski/cpp/input.txt @@ -0,0 +1 @@ +../perl/input.txt \ No newline at end of file -- cgit