Skip to content
Snippets Groups Projects
Commit 8abfbc27 authored by Nikolai Milenko's avatar Nikolai Milenko :grinning:
Browse files

Upload New File

parent 8fe97ef6
Branches
No related tags found
No related merge requests found
# 📖 Lerntagebuch: Woche 13 - Arbeiten mit Open-Source-Projekten
---
## **Thema: Laden und Anpassen eines Open-Source-Projekts**
### **1. Vorbereitung**
#### **Recherchieren nach dem Projekt „The Algorithms“**
Das Projekt [The Algorithms](https://the-algorithms.com/) ist eine Open-Source-Sammlung von Algorithmen, implementiert in verschiedenen Programmiersprachen.
Das Repository für C-Algorithmen ist unter [GitHub: The Algorithms - C](https://github.com/TheAlgorithms/C) verfügbar. Es enthält eine Vielzahl von Algorithmen, die in verschiedene Kategorien unterteilt sind, darunter:
- `maths/` - Mathematische Algorithmen
- `searching/` - Suchalgorithmen
- `sorting/` - Sortieralgorithmen
- `statistics/` - Statistische Berechnungen
- Die Datei für die Median-Berechnung wurde durch den Befehl `find ./ -name "median.c"` gefunden.
- Sie befindet sich im Verzeichnis `maths/statistics`.
- Die Funktion zur Berechnung des Medians nimmt eine sortierte Liste von Zahlen und gibt den mittleren Wert zurück.
#### **1. Klonen eines Git-Repositories**
Um das gewünschte Projekt auf meinen Rechner zu laden, habe ich das Repository von GitHub geklont:
```bash
┌─[user@parrot]─[~]
└──╼ $git clone https://github.com/TheAlgorithms/C.git
Cloning into 'C'...
remote: Enumerating objects: 48458, done.
remote: Total 48458 (delta 0), reused 0 (delta 0), pack-reused 48458 (from 1)
Receiving objects: 100% (48458/48458), 21.96 MiB | 5.30 MiB/s, done.
Resolving deltas: 100% (34339/34339), done.
```
#### **2. Datei mit Median-Berechnung finden**
```bash
┌─[user@parrot]─[~]
└──╼ $cd C
┌─[user@parrot]─[~/C]
└──╼ $find ./ -name "median.c"
./numerical_methods/median.c
```
#### **3. Kompilieren und Ausführen des Codes**
```bash
gcc -o median median.c
┌─[user@parrot]─[~/C/numerical_methods]
└──╼ $chmod 755 median
┌─[user@parrot]─[~/C/numerical_methods]
└──╼ $./median
Enter no. for Random Numbers :3
Random Numbers Generated are :
83
86
77
Sorted Data:
77
83
86
Median is : 83.000000
```
Die Ausgabe war jedoch bei jedem Lauf gleich.
#### **5. Zufallszahlen hinzufügen**
Um die Ausgabe zu variieren, habe ich den Quellcode angepasst. Ich habe `time.h` importiert und `srand(time(NULL));` hinzugefügt:
```c
#include <time.h>
srand(time(NULL));
```
#### **6. Erneute Kompilierung und Test**
Nach der Anpassung habe ich den Code erneut kompiliert und ausgeführt:
```bash
┌─[user@parrot]─[~/C/numerical_methods]
└──╼ $nano median.c
┌─[user@parrot]─[~/C/numerical_methods]
└──╼ $gcc -o median median.c -lm
┌─[user@parrot]─[~/C/numerical_methods]
└──╼ $./median
Enter no. for Random Numbers :3
Random Numbers Generated are :
4
48
18
Sorted Data:
4
18
48
Median is : 18.000000┌─[user@parrot]─[~/C/numerical_methods]
└──╼ $./median
Enter no. for Random Numbers :3
Random Numbers Generated are :
26
90
11
Sorted Data:
11
26
90
Median is : 26.000000
```
Nun änderte sich die Ausgabe bei jedem Durchlauf.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment