Skip to content

AhmedYaser-Mt/07---Algorithms-Problem-Solving-Level-3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📘 07 — Algorithms & Problem Solving – Level 3

51 advanced C++ problems covering matrices, strings, recursion, file handling, and real projects — built on clean code and Divide & Conquer thinking.


🚀 Course Overview

This is Course 7 in the Programming Foundations Roadmap by Dr. Mohammed Abu-Hadhoud.

At this stage, the foundations were already in place:

  • Algorithmic thinking from Levels 1 & 2
  • Clean code and Divide & Conquer from the solutions course
  • Advanced C++ from Level 2 (pointers, memory, file I/O, vectors)

Now came the next level of truth:

You don't become a programmer by learning more. You become one by practicing more.

This course delivers 51 carefully selected problems — harder than Level 2 — followed by two complete real-world projects.


🧩 Problem Categories

🔢 Matrices — Problems 1–20

2D array operations from the ground up: generating random and ordered matrices, summing rows and columns, transposing, multiplying two matrices, and checking matrix properties (identity, scalar, sparse, palindrome). Also covers finding intersected numbers across multiple matrices and extracting min/max values.

🔤 Strings & Characters — Problems 21–44

Character-level logic and string manipulation: Fibonacci series (iterative and recursive), case conversion, vowel detection and counting, word-level operations (split, join, trim, reverse, replace, remove punctuations), and function overloading for string utilities.

📁 File Handling & Records — Problems 45–51

Record serialization and file-based data management: converting structs to lines and back, reading and writing client records, adding, finding, deleting, and updating clients by account number — the direct build-up to the projects.


🏦 Projects

Project 3 — Bank Client Management System

A complete console-based banking system.

The problems from 45–51 were not isolated exercises — they were a direct build-up to this project.

Features:

  • List all clients in a formatted table
  • Add, delete, update, and search clients by account number
  • Text file-based persistence using a custom separator format
  • Soft-delete pattern before file rewrite
  • Enum-driven menu navigation

👉 View Project 3 Repository


Project 3.1 — Bank System (1st Extension)

The same bank system — extended with a full Transactions Menu.

New Features:

  • Deposit funds into any account
  • Withdraw with balance validation loop
  • Total Balances screen with full bank sum
  • Withdraw reuses the Deposit function with a negative amount — zero duplication

👉 View Project 3.1 Repository


🎯 What This Course Builds

  • Matrix operations and 2D array manipulation
  • Recursive thinking (Fibonacci with recursion)
  • String processing and character-level logic
  • File I/O and record serialization
  • Real-world system design through projects
  • Clean code under sustained practice pressure
  • The habit of attempting → analyzing → improving

🛠️ Tech Stack

Language C++
IDE Visual Studio
Paradigm Structured Programming — Divide & Conquer
STL Used vector, string, fstream, iomanip

🏁 Milestone

  • ✅ 51 problems solved across matrices, strings, recursion, and file handling
  • ✅ 2 complete real-world projects built and deployed
  • ✅ Part of Course 7 — Algorithms & Problem Solving – Level 3
  • ✅ Roadmap progress: 7 of 13 courses in Stage One complete

🙏 Gratitude

Thank you to:

  • Programming Advices Platform
  • Dr. Mohammed Abu-Hadhoud

[ https://programmingadvices.com ]

Because experience is not given.

It is built — through repetition, difficulty, and reflection.


🔥 What's Next

Course 8 — Algorithms & Problem Solving – Level 4

65 new problems. Harder. Larger. More realistic.

The foundation is solid.

The practice continues.

Releases

No releases published

Packages

 
 
 

Contributors