#include <print>

#include "ftempl_01.h"

// main() Funktion
int main()
{
    // Felder mit den zu sortierenden Daten
    long    longArray[] {1,-10,-2,20};
    double  doubleArray[] {1.1, 0.9, -1.2, 5.5};

    // Anzahl der Elemente in den Feldern berechnen!
    constexpr auto noOfLongs = sizeof(longArray)/sizeof(longArray[0]);
    constexpr auto noOfDouble = sizeof(doubleArray)/sizeof(doubleArray[0]);

    // unsortiertes long-Feld ausgeben
    std::println("Unsortierte long:");
    for (auto elem : longArray)
        std::print("{}, ", elem);
    std::println();
    // -> erzeugt Funktion: void Sort(long*, int);
    Sort(longArray,noOfLongs);
    // sortiertes long-Feld ausgeben
    std::println("Sortierte long:");
    for (auto elem : longArray)
        std::print ("{}, ", elem);
    std::println("\n");

    // unsortiertes double Feld ausgeben
    std::println("Unsortiert double:");
    for (auto elem: doubleArray)
        std::print("{}, ", elem);
    std::println();
    // -> erzeugt Funktion: void Sort(double*, int);
    Sort(doubleArray,noOfDouble);
    // sortiertes double-Feld ausgeben
    std::println("Sortierte double:");
    for (auto elem: doubleArray)
        std::print("{}, ", elem);
    std::println();

}
