This repository contains a fully documented, multi-language collection of academic lab assignments for the course Algorithms and Data Structures. Each lab showcases algorithmic thinking, data processing, and systems-level logic, implemented across C, C++, and Rust β with clear formatting, modular functions, and that unmistakable Artem touch π‘
Labs are organized by language and topic, demonstrating key CS concepts through practical, well-commented code. This includes:
-
C labs:
- Mastery of conditionals, loops, arrays, and pointers
- Switch-case logic, input/output operations, and dynamic memory
- Multidimensional matrix manipulations and structured function calls
-
C++ labs:
- Function-based power series approximation
- Matrix transposition, dynamic allocation, and memory-safe addition
- String parsing, character analysis, and modular formatting
-
Rust labs:
- Analytical function evaluation using Taylor series
- Fixed-size array slicing, iteration via
.iter()and.enumerate() - Algorithmic search and accumulation using safe, idiomatic patterns
Each lab is paired with a detailed Markdown assignment sheet under /docs, describing task goals, code structure, algorithms used, and sample outputs β so that reviewers, instructors, or future-you can follow the logic and admire the polish.
βββ docs/ # Markdown assignment descriptions for each lab
β βββ lab_1_assignment.md # C: Basic types and formatted I/O
β βββ lab_2_assignment.md # C: Conditionals, switch, loop basics
β βββ lab_3_assignment.md # C: Iteration control, nested loops
β βββ lab_4_assignment.md # C: Arrays, pointers, string manipulation
β βββ lab_5_assignment.md # C: Multidimensional and dynamic arrays
β βββ lab_6_assignment.md # C++: Power series via functions
β βββ lab_7_assignment.md # C++: Matrix operations & transposition
β βββ lab_8_assignment.md # C++: String analysis and character functions
β βββ lab_9_assignment.md # Rust: Power series approximation
β βββ lab_10_assignment.md # Rust: Array traversal and analysis
βββ src_code/
β βββ lab_1/ # C
β βββ lab_2/ # C
β βββ lab_3/ # C
β βββ lab_4/ # C
β βββ lab_5/ # C
β βββ lab_6/ # C++
β βββ lab_7/ # C++
β βββ lab_8/ # C++
β βββ lab_9/ # Rust
β βββ lab_10/ # Rust
β βββ README.md # Language-specific lab instructions (optional)
βββ .gitignore
βββ LICENSE
βββ README.md # You're reading it
| Language | Highlights |
|---|---|
| C | Pointers, arrays, loops, switch-case, memory access |
| C++ | Functions, string manipulation, matrix logic, dynamic memory |
| Rust | Series approximation, slicing, safe memory handling |
Markdown used throughout for docs.
| Lab | Subject | Language | Topic |
|---|---|---|---|
| Lab 1 | Algorithms & Data Structures | C | Types, I/O |
| Lab 2 | Algorithms & Data Structures | C | Conditionals, Switch |
| Lab 3 | Algorithms & Data Structures | C | Loop control |
| Lab 4 | Algorithms & Data Structures | C | Arrays & Pointers |
| Lab 5 | Algorithms & Data Structures | C | Multidimensional Arrays |
| Lab 6 | Algorithms & Data Structures | C++ | Power Series Functions |
| Lab 7 | Algorithms & Data Structures | C++ | Matrix Ops |
| Lab 8 | Algorithms & Data Structures | C++ | String Logic |
| Lab 9 | Algorithms & Data Structures | Rust | Power Series |
| Lab 10 | Algorithms & Data Structures | Rust | Array Slicing & Sum |
-
Clone the repo
git clone https://github.com/.../Algo-programing-pt.3.git
-
Navigate to a lab folder
cd src_code/lab_6 -
Compile or run the script depending on language:
- C:
gcc task_2.c -o task_2 && ./task_2 - C++:
g++ task_1.cpp -o task_1 && ./task_1 - Rust:
cargo runorrustc task.rs && ./task
- C:
-
Open the corresponding lab description
docs/lab_6_assignment.md
All code authored and maintained by Artem Sokol
Feel free to fork or reference, but give credit where due π
Educational purpose only.
Β© 2023β2024 Artem. All loops unrolled, all rights respected.