An open API service indexing awesome lists of open source software.

https://github.com/nandkumar1000/cppcanvas

CppCanvas is a comprehensive C++ repository covering fundamental concepts, data structures, algorithms, pattern problems, and mathematical challenges. It serves as a valuable resource for learning, practicing, and mastering C++ through hands-on coding.
https://github.com/nandkumar1000/cppcanvas

array cpp enumeration function linked-list mathematical-programming oop-s patterns pointers queue recursion searching-algorithms sorting-algorithms stack strings structure union

Last synced: 7 months ago
JSON representation

CppCanvas is a comprehensive C++ repository covering fundamental concepts, data structures, algorithms, pattern problems, and mathematical challenges. It serves as a valuable resource for learning, practicing, and mastering C++ through hands-on coding.

Awesome Lists containing this project

README

          

# 🎨 CppCanvas – Mastering C++ Through Code

Welcome to **CppCanvas**, a comprehensive collection of C++ concepts, algorithms, and problem-solving exercises.

## πŸš€ Topics Covered

This repository covers a wide range of C++ concepts, including:

### πŸ”Ή **Fundamentals**
- Variables & Data Types
- Operators & Expressions
- Control Flow (Loops & Conditionals)
- Functions & Recursion

### πŸ”Ή **Data Structures & Algorithms**
- **Arrays** (Operations, Searching, Sorting)
- **Pointers** (Memory Management, Pointer Arithmetic)
- **Stack & Queue** (Implementation & Applications)
- **Linked Lists** (Singly, Doubly, Circular)
- **Searching Algorithms** (Linear Search, Binary Search)
- **Sorting Algorithms** (Bubble Sort, Quick Sort, Merge Sort, etc.)
- **Binary Search Trees (BST)** (Insertion, Deletion, Traversal)

### πŸ”Ή **Advanced C++ Concepts**
- **Structures & Unions** (Usage & Applications)
- **Enumerations (enum)**
- **Dynamic Memory Allocation (new/delete, malloc/free)**
- **Object-Oriented Programming (OOP)** (Classes, Inheritance, Polymorphism, Encapsulation)

### πŸ”Ή **Mathematical & Logical Problems**
- Prime Numbers, Factorial, Fibonacci Series
- GCD, LCM, Number Theory Problems

### πŸ”Ή **Pattern Problems**
Enhance your logic-building skills with pattern-based problems using loops and recursion, including:
- Pyramid Patterns
- Diamond & Triangle Patterns
- Floyd’s Triangle
- Pascal’s Triangle
- Hollow Patterns

## πŸ“‚ Folder Structure

```
πŸ“¦ CppCanvas
┣ πŸ“‚ Basics
┣ πŸ“‚ Arrays
┣ πŸ“‚ Pointers
┣ πŸ“‚ Stack_Queue
┣ πŸ“‚ LinkedList
┣ πŸ“‚ Searching
┣ πŸ“‚ Sorting
┣ πŸ“‚ OOP
┣ πŸ“‚ Structures_Unions
┣ πŸ“‚ Patterns
┣ πŸ“‚ Mathematical_Problems
┣ πŸ“œ README.md
```

## πŸ› οΈ Getting Started

### βœ… Prerequisites

Before running the programs, ensure you have the following installed on your system:

- **C++ Compiler**
- **GCC** (For Linux/macOS)
- **MinGW** (For Windows)
- **MSVC** (For Visual Studio users)

- **Code Editor (Optional, but Recommended)**
- **VS Code** (with C++ extension)
- **Code::Blocks**
- **Dev-C++**
- **CLion**

### πŸ’» How to Run on Your Local Machine

Follow these steps to set up and run the programs:

#### 1️⃣ **Clone the Repository**
```sh
git clone https://github.com/nandkumar1000/CppCanvas.git
```
Navigate to the project folder:
```sh
cd CppCanvas
```

#### 2️⃣ **Compile and Run C++ Programs**

##### πŸ“Œ Using GCC (Linux/macOS)
```sh
g++ filename.cpp -o output
./output
```

##### πŸ“Œ Using MinGW (Windows)
```sh
g++ filename.cpp -o output.exe
output.exe
```

##### πŸ“Œ Using MSVC (Windows with Visual Studio)
```sh
cl filename.cpp
filename.exe
```

#### 3️⃣ **Running in an IDE**
- Open the `.cpp` file in **VS Code**, **Code::Blocks**, **Dev-C++**, or **CLion**.
- Select **Run** or **Build & Execute**.

## 🀝 Contributing

Contributions are welcome! You can:
- Improve existing solutions
- Add new problems and optimized approaches
- Refactor code for better readability