Program: 25.5.1.c
This commit is contained in:
parent
464f599c06
commit
7d56156184
90
25.5.1.c
Normal file
90
25.5.1.c
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
int kaeferIrrfahrt() {
|
||||||
|
int a = 0;
|
||||||
|
int strecke = 0;
|
||||||
|
|
||||||
|
while (a != 3) {
|
||||||
|
|
||||||
|
if (a == 0) {
|
||||||
|
a++;
|
||||||
|
strecke++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (a == 1) {
|
||||||
|
int zuf = rand() % 3 + 1;
|
||||||
|
|
||||||
|
if (zuf > 1) {
|
||||||
|
a++;
|
||||||
|
strecke++;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
a--;
|
||||||
|
strecke++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (a == 2) {
|
||||||
|
int zuf = rand() % 3 + 1;
|
||||||
|
|
||||||
|
if (zuf < 3) {
|
||||||
|
a--;
|
||||||
|
strecke++;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
a++;
|
||||||
|
strecke++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return strecke;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int fahrt;
|
||||||
|
printf("Geben Sie die Anzahl der Irrfahrten ein: ");
|
||||||
|
scanf("%d", &fahrt);
|
||||||
|
|
||||||
|
srand(time(NULL));
|
||||||
|
|
||||||
|
int *weglaengen = (int *)malloc(fahrt * sizeof(int));
|
||||||
|
|
||||||
|
int n;
|
||||||
|
for (n = 0; n < fahrt; n++) {
|
||||||
|
weglaengen[n] = kaeferIrrfahrt();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int maxWeglange = fahrt*100;
|
||||||
|
int *haeufigkeit = (int *)calloc(maxWeglange , sizeof(int));
|
||||||
|
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < fahrt; i++) {
|
||||||
|
haeufigkeit[weglaengen[i]]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
printf("Wegl<EFBFBD>nge H<>ufigkeit\n");
|
||||||
|
int p;
|
||||||
|
for (p = 0; p <= maxWeglange; i++) {
|
||||||
|
if (haeufigkeit[p] > 0) {
|
||||||
|
printf("%9d %9d\n", p, haeufigkeit[p]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int summe = 0;
|
||||||
|
int k;
|
||||||
|
for ( k = 0; k < fahrt; k++) {
|
||||||
|
summe += weglaengen[k];
|
||||||
|
}
|
||||||
|
double durchschnitt = (double)summe / fahrt;
|
||||||
|
printf("Durchschnittliche Wegl<67>nge: %.2lf\n", durchschnitt);
|
||||||
|
|
||||||
|
free(weglaengen);
|
||||||
|
free(haeufigkeit);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user