From 5fbe404d36aa5a647afcef4009405bfb14e5e4eb Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 7 Apr 2025 16:40:10 +0200 Subject: [PATCH] 25.3. --- modus.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 modus.c diff --git a/modus.c b/modus.c new file mode 100644 index 0000000..e112b3d --- /dev/null +++ b/modus.c @@ -0,0 +1,68 @@ +#include +#include +#include + +int sort(int* zuSortieren, int laenge){ //können die Funktion nicht qsort nennen, da diese Funktion in der stdlib.h bereits deklariert ist + int fortschritt = 0, tmp = 0; + while (fortschritt < laenge){ + if (zuSortieren[fortschritt] <= zuSortieren[fortschritt+1]){ //Prüft ob aktuelle Stelle kleiner/gleich als die Nächste ist Stelle ist + fortschritt++; //Wenn kleiner/gleich dann wird die nächste Stelle untersucht + } + else{ + tmp = zuSortieren[fortschritt]; //Größere Stelle wird zwischengespeichert + zuSortieren[fortschritt] = zuSortieren[fortschritt+1]; //kleinere Stelle wird vorgeschoben + zuSortieren[fortschritt+1] = tmp; //größere Stelle wird angehängt + fortschritt = 0; //Überprüfung startet neu + } + } + return *zuSortieren; //gibt den weitergegebenen Array sortiert zurück +} + +void haeufigkeit(int* pointer,int menge){ + int haufig[10000]; + int haeufigkeit = 0; + int haeufigsteZahl = 0; + + for (int i = 0; i < menge; ++i){//array an i-Stelle +1 aufaddieren + for(int j = 0; j < 100; ++j){ + if(pointer[i] == j ){ + haufig[j] += 1; + } + } + } + for (int i = 0; i < menge; ++i) {// sucht die Häufigste Zahl und wie oft sie vorkommt + if (haufig[i]>haeufigkeit){ + haeufigkeit = haufig[i]; + haeufigsteZahl= i; + } + } + printf("\n....Modus: %d\t", haeufigsteZahl); + printf("(Haeufigkeit: %d).....", haeufigkeit); + +} + +int main(void) { + int menge = 0, seed, zufallsZahlen[10000]; + int* anfangZufallsZahlen = zufallsZahlen; + + printf("Wieviele Zufallswerte (1..10000):"); + scanf("%d", &menge); + + seed = clock(); //seed sorgt dafür, dass srand() nicht pseudorandom ist. + srand(seed); + + printf("Erzeugte Zufallszahlen --------------------------------------------------------------------------------------------\n"); + for (int i = 0; i < menge; ++i) { + zufallsZahlen[i] = rand() % 100; // generiert einen Array gefüllt mit zufälligen Zahlen + printf("%d\t", zufallsZahlen[i]); + } + printf("\n"); + + sort(anfangZufallsZahlen, menge); + printf("\nSortierte Zufallszahlen --------------------------------------------------------------------------------------------\n"); + for (int i = 0; i < menge; ++i) { + printf("%d\t", zufallsZahlen[i]); + } + + haeufigkeit(anfangZufallsZahlen, menge); +} \ No newline at end of file