68 lines
2.5 KiB
C
68 lines
2.5 KiB
C
#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);
|
|
} |