Skip to content

Latest commit

 

History

History

README.md

Algorithms & Problem Solving - Level 2 Solutions

C++ Status Repo Size

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.

Key Technical Highlights

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.

Problem Sets Overview

1. Set 1: Math Algorithms & Digit Manipulation (Problems 1-10)

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: Completed

2. Set 2: Patterns, Randomness & Security (Problems 11-20)

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: Completed

3. Set 3: Array Algorithms & Keys Generation (Problems 21-30)

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: Completed

4. Set 4: Array Manipulation & Search (Problems 31-40)

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: Completed

5. Set 5: More Array Problems & Math Functions (Problems 41-50)

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: Completed

6. Set 6: Array Applications & Review (Bonus)

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: Completed

7. Set 7: Final Course Projects

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: Completed

Tech Stack

  • Language: C++
  • IDE: Visual Studio
  • Architecture: Header Files (.h), Namespaces, Source Files (.cpp).

Developed by Mohamed Abdelrady - 2026