{"id":29610201,"url":"https://github.com/anvaymayekar/mega-matrix-mania","last_synced_at":"2025-10-25T15:09:14.259Z","repository":{"id":303080609,"uuid":"1014340140","full_name":"anvaymayekar/mega-matrix-mania","owner":"anvaymayekar","description":"Mega Matrix Mania is a C-based program for performing key matrix operations like determinant, inverse, rank, scalar multiplication, and more. It includes strong input validation, modular structure, cross-platform compatibility, and a styled terminal interface.","archived":false,"fork":false,"pushed_at":"2025-07-05T19:59:23.000Z","size":137,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-20T20:16:48.367Z","etag":null,"topics":["algorithms","c","logic","math","matrix","programming"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anvaymayekar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-05T14:24:35.000Z","updated_at":"2025-07-05T19:59:26.000Z","dependencies_parsed_at":"2025-07-05T15:53:58.533Z","dependency_job_id":"b54a47db-b0ef-4bb9-b9a4-2d46f848d898","html_url":"https://github.com/anvaymayekar/mega-matrix-mania","commit_stats":null,"previous_names":["anvaymayekar/mega-matrix-mania"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anvaymayekar/mega-matrix-mania","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaymayekar%2Fmega-matrix-mania","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaymayekar%2Fmega-matrix-mania/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaymayekar%2Fmega-matrix-mania/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaymayekar%2Fmega-matrix-mania/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anvaymayekar","download_url":"https://codeload.github.com/anvaymayekar/mega-matrix-mania/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaymayekar%2Fmega-matrix-mania/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280973166,"owners_count":26422922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","c","logic","math","matrix","programming"],"created_at":"2025-07-20T20:07:15.875Z","updated_at":"2025-10-25T15:09:14.218Z","avatar_url":"https://github.com/anvaymayekar.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧮 **Mega Matrix Mania** — Advanced Terminal Matrix Calculator in C\n\nA robust matrix manipulation program written in **pure C**, designed to perform essential and advanced linear algebra operations including determinant, inverse, rank, row echelon form, scalar multiplication, and more — right from your terminal interface with **safety-first input mechanisms** and **vibrant ANSI-styled output**.\n\n\u003e 🛠️ This project was developed as a part of **B.Tech (Engineering)** coursework at **Shah \u0026 Anchor Kutchhi Engineering College**, Mumbai by **Anvay Mayekar** for subject **Problem Solving and Programming with C** **(FE - Sem II)**, with a focus on modular design, efficient matrix handling, and real-world C programming principles.\n\n---\n\n## 📌 Highlights \u0026 Safety Notes\n\n\u003e ⚠️ All input is thoroughly validated via dedicated functions (`get_choice`, `get_scalar`) that prevent segmentation faults, malformed input like `3..3`, alphabets, or overflow issues.\n\u003e 🧠 All floating-point values are **truncated with a warning**, not rounded.\n\u003e 🔂 **Row Echelon Form** logic is **purely iterative** — no recursion used, ensuring memory safety and performance.\n\u003e 🖥️ Terminal outputs are color-coded for better readability.\n\u003e 💡 **Tip:** For operations on larger matrices, increase the value of `MAX` in [`utils.h`](./utils.h).\n\n---\n\n## 📁 File Structure\n\n```\nmega-matrix-mania/\n├── header/                     # 📂 All header files (function prototypes, macros)\n│   ├── io.h                    # ✍️  Input/Output function declarations\n│   ├── proto.h                 # 📚 Unified prototype header for all functions\n│   ├── title.h                 # 🖼️  Title art and splash screen\n│   ├── utils.h                 # 🎨 Macros: ANSI colors, delays, matrix size\n│\n├── src/                        # ⚙️  Source code implementation\n│   ├── io.c                    # 🔢 Handles matrix input/output operations\n│   ├── matrix.c                # 🧮 Core matrix functions (det, adj, inv, rank, etc.)\n│\n├── main.c                      # 🧠 Program entry point with menu logic\n├── mega-matrix-mania.exe       # 🟩 Windows executable (compiled binary)\n└── README.md                   # 📘 Project overview and usage instructions\n```\n\n---\n\n## ⚙️ Features \u0026 Operations\n\n### ✅ Supported Matrix Operations\n\n| Option | Operation             |\n| ------ | --------------------- |\n| 0      | Change Matrix Order   |\n| 1      | Display Matrix        |\n| 2      | Transpose             |\n| 3      | Scalar Multiplication |\n| 4      | Matrix Multiplication |\n| 5      | Determinant           |\n| 6      | Adjoint               |\n| 7      | Inverse               |\n| 8      | Identity Check        |\n| 9      | Cofactor Matrix       |\n| 10     | Row Echelon Form      |\n| 11     | Rank                  |\n| 12     | Exit                  |\n\n---\n\n## 🧰 Tools \u0026 Technologies Used\n\n![C](https://img.shields.io/badge/C_language-00599C?style=for-the-badge\\\u0026logo=c\\\u0026logoColor=white)\n![GCC](https://img.shields.io/badge/GCC-gnu%20compiler-blue?style=for-the-badge\\\u0026logo=gnu\\\u0026logoColor=white)\n![Windows](https://img.shields.io/badge/Windows-Supported-blue?style=for-the-badge\\\u0026logo=windows\\\u0026logoColor=white)\n![Linux](https://img.shields.io/badge/Linux-Compatible-yellowgreen?style=for-the-badge\\\u0026logo=linux\\\u0026logoColor=white)\n![ANSI Terminal](https://img.shields.io/badge/Terminal-ANSI_Colors-lightgrey?style=for-the-badge)\n\n---\n\n## 🧱 C Libraries Used\n\n```c\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cmath.h\u003e\n#include \u003cstring.h\u003e\n#include \u003cwindows.h\u003e\n#include \u003cunistd.h\u003e // for UNIX\n\n```\n\n\u003e ⚠️ No external libraries used. All logic is handwritten in standard ANSI C.\n\n---\n\n## 🔐 Input Safety Features\n\n✔️ **get\\_choice()**\n→ Accepts 1 or 2 inputs like `3` or `3 3`\n→ Rejects alphabets, symbols, and malformed input (`3..2`)\n→ Provides truncation warnings for decimals (e.g., `2.7` → `2`)\n→ Validates value range (`1–10`) or custom via `del` variable\n\n✔️ **get\\_scalar()**\n→ Accepts any real number input (e.g., `-2.5`, `0`, `123`)\n→ Rejects invalid or non-numeric entries safely\n\n✔️ **input\\_matrix()**\n→ Only triggered after valid dimension entry\n→ Ensures each matrix element is a valid number (float)\n\n✔️ **Row Echelon**\n→ Uses pure **iteration**, not recursion, for efficiency and safety\n\n---\n\n## 🧾 Compilation Instructions\n\n### 🪟 On Windows:\n\n```bash\ngcc -Iheader main.c src/io.c src/matrix.c -o mega-matrix-mania\n```\n```bash\nmega-matrix-mania.exe\n```\n\n### 🐧 On Linux/macOS:\n\n```bash\ngcc -Iheader main.c src/io.c src/matrix.c -o mega-matrix-mania\n```\n```bash\n./mega-matrix-mania\n```\n\n\u003e 🧠 Make sure `gcc` is installed. Use `sudo apt install gcc` (Linux) or MinGW (Windows).\n\n---\n\n## 🖼️ Output Sample\n\n```\n=== Matrix Operations ===\n\n1. Display Matrix\n2. Transpose\n...\n12. Exit\n\nChoice: 5\nEnter matrix order (n): 3\nEnter matrix elements:\n[1 2 3]\n[0 1 4]\n[5 6 0]\n\nDeterminant: 1.00\n```\n---\n\n## ⚖️ License\nThis project is licensed under the [MIT License](https://opensource.org/licenses/MIT).  \nYou are free to use, modify, and distribute this software with proper attribution.\n\n---\n\n## 👨‍💻 Author\n\n\u003e **Anvay Mayekar**\n\u003e 🎓 B.Tech in Electronics \u0026 Computer Science — SAKEC\n\u003e\n\u003e[![GitHub](https://img.shields.io/badge/GitHub-181717.svg?style=for-the-badge\\\u0026logo=GitHub\\\u0026logoColor=white)](https://www.github.com/anvaymayekar)\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-0A66C2.svg?style=for-the-badge\\\u0026logo=LinkedIn\\\u0026logoColor=white)](https://in.linkedin.com/in/anvaymayekar)\n[![Instagram](https://img.shields.io/badge/Instagram-%23E4405F.svg?style=for-the-badge\\\u0026logo=Instagram\\\u0026logoColor=white)](https://www.instagram.com/anvaymayekar)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanvaymayekar%2Fmega-matrix-mania","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanvaymayekar%2Fmega-matrix-mania","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanvaymayekar%2Fmega-matrix-mania/lists"}