https://github.com/merteldem1r/array-modifier-app
The Array Modifier Console App is a modular C project, which involves manipulate and analyze arrays that dynamically allocated and additionally scaling the performance of each manipulation. Users can interact with the program through a terminal.
https://github.com/merteldem1r/array-modifier-app
algorithms array-manipulations c cmake console-applications data-structures-c
Last synced: 5 months ago
JSON representation
The Array Modifier Console App is a modular C project, which involves manipulate and analyze arrays that dynamically allocated and additionally scaling the performance of each manipulation. Users can interact with the program through a terminal.
- Host: GitHub
- URL: https://github.com/merteldem1r/array-modifier-app
- Owner: merteldem1r
- License: mit
- Created: 2024-12-13T20:34:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-25T20:24:16.000Z (10 months ago)
- Last Synced: 2025-10-09T04:04:28.356Z (6 months ago)
- Topics: algorithms, array-manipulations, c, cmake, console-applications, data-structures-c
- Language: C
- Homepage:
- Size: 110 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Array Modifier Console Application
**The Array Modifier Console App** is a modular C project, which involves **manipulate** and **analyze** Arrays that
dynamically
allocated on the Heap and **scaling the performance** of each manipulation. Users can interact with the program
through a
terminal; where they can perform various operations like **core, search, sorting, statistical and transformation**
method analyzes on arrays.
## App Preview
### Initializing

### Array Methods

### Few Examples




## What is Used
* **C Language:** Functionality and manipulation methods. Modularity, data-structures, pointers, macros, error handling and much more.
* **CMake:** Cross-platform build automation.
* **Git:** Version control and collaboration.
## Key Features
* **Dynamic Memory Management**: Allocate and manage arrays efficiently on the heap.
* **Performance Tracking**: Display CPU time and memory usage for operations, compare methods.
* **Core Operations**: Display, append, insert, delete, and update array elements.
* **Statistical Analyse**: Compute sum, mean, median, mode, variance, and standard deviation.
* **Transformation Tools**: Reverse, rotate, scale, and normalize arrays.
* **Search & Sorting**: Includes linear, binary, and k-nearest searches, alongside multiple sorting algorithms
like Quick Sort and Heap Sort.
## How to Build and Run
* **Build Systems**: While this guide uses Ninja as an example, you can choose any build system (e.g. Makefiles or
Visual
Studio). CMake makes it easy to adapt.
* **IDEs**: If you are using an IDE like CLion, you can open the project directly in the IDE, and it will handle these
steps automatically.
1. **Prerequisites for Project**
Install necessary build tools and compilers on your system:
* C compiler: GCC, Clang, or MSVC, depending on your operating system.
* Cmake: Build automation tool. Download from [cmake/download](https://cmake.org/download/)
2. **Clone the Repository**
```
git clone https://github.com/your-username/array-modifier-app.git
cd array-modifier-app
```
3. **Create and go to Build directory where CMakeLists.txt is located**
```
mkdir build
cd build
```
4. **Generate Build Files**
Generate build files inside build directory using **CMake**. You can use the
command line or an IDE such as CLion.
**For command line** (choose generator like Ninja, Makefile, or others):
```
cmake -G "Ninja" .. # For Ninja
cmake -G "Unix Makefiles" .. # For Makefile
```
Step assumes you have **CMake** and generator (Ninja, makefile etc.) installed. The ".." points to the parent
directory
where the _CMakeLists.txt_ file is
located.
For **IDE**: If you're using an IDE like **CLion**, simply open the project in the IDE. It will automatically detect
the
_CMakeLists.txt_ and set up build directory and the project for you.
5. **Build the Project**
After generating the build system, now you can build the application
```
ninja
```
if you have Makefiles then:
```
make
```
6. **Run the Application**
After building the project, **.exe** file will be created inside of **build** directory.
**NOTE:** The project include _ASCII_ and _ANSI_ standards on terminal text. Because of that to get result as on app
preview image abow make sure that your terminal supports that standards.
Run it from the terminal:
```
./array-modifier-console-app
```
### Clean the Build Directory
To delete the build files, navigate to build directory and run this command:
```
cmake --build . --target clean_all
```