From 8abfbc27967b7f92b84a86f02a2aa911c3f43f1c Mon Sep 17 00:00:00 2001 From: Nikolai Milenko <nikolai.milenko@informatik.hs-fulda.de> Date: Wed, 12 Feb 2025 15:22:16 +0100 Subject: [PATCH] Upload New File --- Lerntagebuch/Woche_13.md | 106 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 Lerntagebuch/Woche_13.md diff --git a/Lerntagebuch/Woche_13.md b/Lerntagebuch/Woche_13.md new file mode 100644 index 0000000..aca7256 --- /dev/null +++ b/Lerntagebuch/Woche_13.md @@ -0,0 +1,106 @@ +# 📖 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 -- GitLab