This commit is contained in:
Daniel Zwanzig 2025-04-07 16:40:10 +02:00
parent 54035036e7
commit 5fbe404d36

68
modus.c Normal file
View File

@ -0,0 +1,68 @@
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
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);
}