C-Übung 7
Eindimensionale Felder (Arrays)

Implementiere das Programm Uebung7.exe, welches die nachfolgend beschriebenen Funktionen my_strlen(), anz_buchstaben(), Summe(), Mittelwert(), Minimum() und Maximum() in der vorgegebenen Testumgebung überprüft:

Funktion my_strlen():
long my_strlen(char *string);

Die Funktion my_strlen() ermittelt die Länge der im Parameter string übergebenen Zeichenkette und liefert diese Länge an die aufrufende Funktion zurück.

Funktion anz_buchstaben():

long anz_buchstaben(char *string, char buchstabe);

Diese Funktion überprüft, wie oft der „Buchstabe“ im „String“ vorkommt und liefert die Anzahl an die aufrufende Funktion zurück.

Funktion Summe():
double Summe(double *werte, int anzWerte);

Diese Funktion berechnet die Summe aus allen im Parameter „werte“ übergebenen Kommazahlen. Die Anzahl der Elemente, welche im Parameter „werte“ übergeben werden, ist im Parameter „anzWerte“ festgelegt.

Funktion Mittelwert():

double Mittelwert(double *werte, int anzWerte);

Diese Funktion berechnet den Mittelwert aus allen im Parameter „werte“ übergebenen Kommazahlen. Die Anzahl der Elemente, welche im Parameter „werte“ übergeben werden, ist im Parameter „anzWerte“ festgelegt.

Funktion Minimum():

double Minimum(double *werte, int anzWerte);

Diese Funktion berechnet das Minimum aus allen im Parameter „werte“ übergebenen Kommazahlen. Die Anzahl der Elemente, welche im Parameter „werte“ übergeben werden, ist im Parameter „anzWerte“ festgelegt.

Funktion Maxímum():

double Maximum(double *werte, int anzWerte);

Diese Funktion berechnet das Maximum aus allen im Parameter „werte“ übergebenen Kommazahlen. Die Anzahl der Elemente, welche im Parameter „werte“ übergeben werden, ist im Parameter „anzWerte“ festgelegt.

Vorgegebene Testumgebung:
#include "stdio.h"
char sZeichenkette1[100]={"Herbert Koenig"};
char sZeichenkette2[100]={'S','C','H','U','L','E',0x00};
char cPruefzeichen1='e';
char cPruefzeichen2[100]={'H'};

void main(void);
long my_strlen(char *string);
long anz_buchstaben(char *string, char buchstabe);
double Summe(double *werte, int anzWerte);
double Mittelwert(double *werte, int anzWerte);
double Minimum(double *werte, int anzWerte);
double Maximum(double *werte, int anzWerte);

void main(void)
{
long anzahl;
double zahlen[10];
double ergebnis;
long i;

anzahl=my_strlen(sZeichenkette1);
printf("Die Laenge von %s betraegt %d Buchstaben !\n",sZeichenkette1,anzahl);

anzahl=my_strlen(sZeichenkette2);
printf("Die Laenge von %s betraegt %d Buchstaben !\n",sZeichenkette2,anzahl);

anzahl=anz_buchstaben(sZeichenkette1,cPruefzeichen1);
printf("Der Buchstabe %c ist in der Zeichenkette %s %d mal vorhanden !\n",cPruefzeichen1, sZeichenkette1,anzahl);
anzahl=anz_buchstaben(sZeichenkette2,cPruefzeichen2[0]);
printf("Der Buchstabe %c ist in der Zeichenkette %s %d mal vorhanden !\n",cPruefzeichen2[0], sZeichenkette2,anzahl);

for (i=0;i<10;i++)
{
zahlen[i]=i+1;
}

ergebnis=Summe(zahlen,10);
printf("Summe liefert: %f \n", ergebnis);
ergebnis=Mittelwert(zahlen,10);
printf("Mittelwert liefert: %f \n", ergebnis);
zahlen[5]=-11.9;
zahlen[6]=1111.9;
ergebnis=Minimum(zahlen,10);
printf("Minimum liefert: %f \n", ergebnis);
ergebnis=Maximum(zahlen,10);
printf("Maximum liefert: %f \n", ergebnis);
}