Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/datmicw/30daylab___csharp

30 Days of C# Practice
https://github.com/datmicw/30daylab___csharp

algorithms csharp-code oop practice

Last synced: 17 days ago
JSON representation

30 Days of C# Practice

Awesome Lists containing this project

README

        

# 30 Days of C# Practice: OOP & Algorithms

This repository contains **30 daily challenges** to practice Object-Oriented Programming (OOP) and algorithms in C#. Each challenge is designed to strengthen programming skills, logical thinking, and familiarity with C# features.

---

## **Project Structure**

The project is divided into **30 folders**, one for each day. Each folder contains:
1. The problem statement for the day's challenge.
2. A C# solution (`.cs` file).
3. Test cases for the challenge (if applicable).

---

## **Challenges Overview**

### **Week 1: OOP Fundamentals**
1. **Manage Contacts**: CRUD operations on a contact list.
2. **Sort Products**: Bubble sort for product prices.
3. **Banking System**: Deposit, withdraw, and transfer functionality.
4. **Find Most Frequent Element**: Use a dictionary to count occurrences.
5. **Manage Students**: Calculate and compare students' average scores.
6. **Decode String**: Decode strings in a format like `3[a]2[bc]`.
7. **User Login System**: Register and login functionality.

### **Week 2: Intermediate OOP & Data Structures**
8. **Shortest Path**: Implement Dijkstra's algorithm for a graph.
9. **Number Guessing Game**: Simulate a number guessing game.
10. **Printer Queue**: Simulate a print queue using the `Queue` collection.
11. **Maze Solver**: Solve a maze using recursion or BFS.
12. **Prime Numbers**: Find all primes up to a given number.
13. **ATM Simulation**: Calculate the minimum number of bills for withdrawals.
14. **Library Management**: Borrow and return books in a library system.

### **Week 3: Advanced Algorithms**
15. **Evaluate Postfix Expression**: Use a stack to evaluate postfix expressions.
16. **Linked List Implementation**: Build a custom linked list with basic operations.
17. **Check Palindrome**: Verify if a string is a palindrome.
18. **Student Classification**: Group students into categories based on scores.
19. **Fractions**: Add, subtract, multiply, and divide fractions.
20. **Generate Combinations**: Use recursion to find all combinations in an array.
21. **Spiral Matrix**: Print numbers in a spiral NxN matrix.

### **Week 4: Real-World Applications**
22. **Sudoku Solver**: Solve a Sudoku puzzle using backtracking.
23. **Classroom Management**: Calculate class averages and find top students.
24. **Sort by Number of Digits**: Sort numbers by the number of digits.
25. **Convert Number to Words**: Convert integers into their word representations.
26. **Generate Unique Random Numbers**: Create a list of unique random numbers.
27. **Binary Tree Implementation**: Implement and traverse a binary tree.
28. **Find Pairs with Sum X**: Identify pairs in an array that sum to X.
29. **Pathfinding in a Matrix**: Find a valid path in a binary matrix using DFS/BFS.
30. **Ticket Reservation System**: Manage ticket reservations and calculate revenue.

---

## **How to Run the Code**

1. Clone the repository:
```bash
git clone https://github.com/datmicw/30dayLAB___CSharp.git
```

2. Open the solution in Visual Studio or any C# IDE.

3. Navigate to the folder of the day you want to test.

4. Run the program and test it with the provided test cases.

---

## **Requirements**

- **C# IDE**: Visual Studio
- **.NET Framework**: Version 8.0 or later

---