This repository contains my solutions for the Algorithms & Problem Solving Level 2 Course. In this level, the focus shifts from basic syntax to modular programming, mathematical algorithms, and building reusable libraries.
Unlike Level 1, this repository implements a professional software architecture:
- Custom Library (
MyLib): All reusable logic is encapsulated in a dedicated header file (MyLib.h) and source file (MyLib.cpp). - Modular Design: Separation of declarations (
.h) and implementations (.cpp). - Pure Math Logic: Solving complex digit manipulation problems using arithmetic operators (
%,/) without relying on string conversions.
Deep dive into number theory, prime checks, and manipulating integers mathematically.
- Key Problems: Multiplication Table, Prime/Perfect Numbers, Digit Frequency, Reversing Numbers.
- Concepts:
MyLib Integration,Nested Loops,Modulo Operator,Optimization Techniques. - Status:
Focuses on complex pattern generation, random number simulation, and basic security algorithms.
- Key Problems: Palindromes, Inverted Patterns, Brute-Force Password Guessing, Text Encryption.
- Concepts:
Nested Loops,Randomness (srand/rand),String Manipulation,Security Logic. - Status:
Simulating random behavior, array filling, and generating secure keys.
- Key Problems: Random Number Generator, Serial Key System, Array Filling, Prime Copying.
- Concepts:
Arrays,Randomness,Linear Search,Aggregation. - Status:
Mastering array searching, shuffling, and simulating dynamic array behavior.
- Key Problems: Shuffle Array, Linear Search, Copy Distinct, Dynamic Entry Simulation.
- Concepts:
Linear Search,Swapping,Dynamic Array Logic,Distinct Filtering. - Status:
Focuses on array validation and manually recreating standard math functions to understand their internal algorithms.
- Key Problems: Palindrome Array, MySqrt (Babylonian Method), MyFloor, MyRound, MyCeil.
- Concepts:
Math Logic,Loop Optimization,Edge Case Handling,Reinventing Standard Functions. - Status:
A collection of custom-built applications to bridge the gap between solving problems and building systems.
- Key Projects: Array Statistics Report, Unique Data Pipeline, Prime Data Shuffler.
- Concepts:
System Design,Data Pipelines,Complex Shuffling,Refactoring. - Status:
The final capstone projects implement complete game logic using the custom library.
- Key Projects: Stone-Paper-Scissor Game, Math Quiz Game.
- Concepts:
Struct Composition,State Management,Dynamic UI. - Status:
- Language: C++
- IDE: Visual Studio
- Architecture: Header Files (
.h), Namespaces, Source Files (.cpp).
Developed by Mohamed Abdelrady - 2026