Skip to content

movhdi/100daysOfCodingChallenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

100 Days of coding challenge with c++

Hi there! Have you ever heard about 100 days of coding challenge? If you have not, I strongly recommend you to take a look on this website 100daysofcode.com.

It is a challenge to change one's life, not completely changing that but to help him/her achieve something desired or long awaited for.

I have started the challenge a couple of days ago. My challenge is about c++ programming language. Every single day I do code to solve a new problem using c++ language. I have decided to embedd a test function for every program I write. Anyway some of them I feel do not need a test function because they are straight forward. The following table will get updated every day I do something new.

If you want to warm up, jump in! Do my challenge.

Math Problems Status
1 sum of naturals divisible by 3 and 5 ✔️
2 Greatest common divisor ✔️
3 Least common multiple ✔️
4 Largest prime smaller than given number ✔️
5 Sexy prime pairs ✔️
6 Abundant numbers ✔️
7 Amicable numbers ✔️
8 Armstrong numbers ✔️
9 Prime factors of a number ✔️
10 Gray code ✔️
11 Converting numerical values to Roman ✔️
12 Largest Collatz sequence ✔️
13 Computing the value of PI ✔️
14 Validating ISBNs ✔️

Today, 18-7-2023 I completed Math challenges, and I am going to solve challenges from the second chapter. The subject of this chapter is language features. I am really longing to start this chapter.

Language Features Status
15 IPv4 Data Type ✔️
16 Enumerating IPv4 addresses in a range ✔️
17 Creating a 2D array with basic operations ✔️
18 Minumum function with any number of arguments ✔️
19 Adding a range of values to a container ✔️
20 container any, all, none ✔️
21 system handle wrapper
22 Literals of various temperature scales ✔️

Tonight I think chapter two was also finished. I happy to see I have completed nearly 22 challenges. The date of today is 12-8-2023. It is nearly a month past the day I finished chapter one. This chapter was more challenging than the first chapter. I learned and yet many more things are left. I have not a clear vision about constexpr, about inline specifier, etc. In this chapter I left p21 unsolved, intentionaly. Because it has a flavour of windows c++ which I am not really into. Preferrably I code in linux not beyond it. Now it is time to go for more challenges!

Strings and regular expressions Status
23 Binary to string conversion ✔️
24 String to binary conversion ✔️
25 Capitalizing an article ✔️
26 Joining strings together separated by a delimiter ✔️
27 Splitting a string into tokens with a list of possible delimiters ✔️
28 Longest palindromic substring ✔️
29 License plate validation ✔️
30 Extracting URL parts ✔️
31 Transforming dates in string ✔️

Today is 15-09-2023. So the last chapter took nearly a month. Tomorrow morning I am going to Istanbul. A couple of weeks ago I was on another trip to another country.That is why my contributions figure has more blank squares than the months before. Anyway, chapter 3 is now done. I am going for another adventure in chapter 4 which is about "Streams and Filesystems".

Streams and Filesystems Status
32 Pascal's triangle ✔️
33 Tabular printing of a list of processes ✔️
34 Removing empty lines from a text file ✔️
35 Computing the size of a directory ✔️
36 Deleting files older than a given date ✔️
37 Finding files in a directory that match a regular expression ✔️
38 Temporary log files ✔️

Well, the last chapter was finished on 14-10-2023, it means this chapter took a month to complete. I was in Istanbul so I did not code a week. Therefore I think I have become better at coding. This month I started to add some more problems from another book that I think really helped me to grasp the concepts of filesystem lib. Now I am going for another chapter of challenge. Ladies and Gentlemen, Here is DATE and TIME!

Date and Time Status
39 Measuring function execution time ✔️
40 Number of days between two dates ✔️
41 Day of the week ✔️
42 Day and week of the year ✔️
43 meeting time for multiple time zones
44 Monthly Calendar ✔️

Today is 23-01-2024, I just finished Date and Time excercises. It has taken a long time since my last writing here. That is because during this period of time I started reading the book C++17 STL cookbook. I got through all the excercises, it was about 500 pages from containers to iterators all the way down to conc.urrency and filesystem. I started to read also another book named "c++ standard library, A tutorial and reference". I have dived deep in the C++ books, honestly I can say that I have just grasped a big picture! Yet many more left to learn. Yet need to make my hands dirty. The next chapter is about algorithms and datastructures. For solving any data structure (here priority_queue, set, map, red black tree, trie, tree binary search tree) I am going through other different books and courses to learn about them. So I might not be able to meet my time goals.

Algorithms and Data Structures Status
45 priority queue ✔️
46 circular buffer ✔️
47 double buffer ✔️
48 The most frequent element in a range ✔️
49 Text histogram ✔️
50 Filtering a list of phone numbers ✔️
51 Transforming a list of phone numbers ✔️
52 Generating all the permutations of a string ✔️
53 Average rating of movies ✔️
54 Pairwise algorithm ✔️
55 Zip algorithm ✔️
56 Select algorithm ✔️
57 Sort algorithm ✔️
58 The shortest path between nodes
59 The Weasel program ✔️
60 The Game of Life ✔️

Today I finished algorithms chapter. In the meanwhile I tried to learn cmake and I got through it deeply to some extent. I am ready now to go for the next chapter. I will try to learn as much as I can, and I am eager to reach cryptography chapter soon in the future. The next chapter is about concurrency, I hope it will not be too difficult. No worries, let's go.

Chapter 7 Concurrency Status
61 Parallel transform algorithm ✔️
62 Parallel min and max element algorithms using threads ✔️
63 Parallel min and max element algorithms using asynchronous functions ✔️
64 Parallel sort algorithm
65 Thread-safe logging to the console
66 Customer service system

Day by day I am getting better at c++ and recently at cmake! On the other hand I am very interested in cryptography, so I jumped to problem 91 and solved user credential challenge. Little by little I will solve other challenges of this chapter also, and even may before finishing concurrency challenges.

Chapter 11 Cryptography Status
88 Caesar cipher ✔️
89 Vigenère cipher ✔️
90 Base64 encoding and decoding
91 Validating user credentials ✔️
92 Computing file hashes
93 Encrypting and decrypting files
94 File signing

About

This is my 100 days of c++ coding challenge

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published