/* 1. Implementieren Sie ein Programm für die Arbeit mit eindimensionalen
Feldern, das folgende Funktionen enthält und mit mindestens 2 Feldern testet:
*1* init - belegt die Feldelemente mit nicht ganzzahligen Zufallszahlen.
   Eingabeparameter sind die Anzahl der Feldelemente und die Adresse des Feldes,
    kein Rückgabewert!
*2* einlesen - liest die Anzahl der Feldelemente und die Werte für die Feldele-
    mente ein. Eingabeparameter sind die Adresse des Feldes und die maximal
    zulässige Anzahl der Feldelemente, Rückgabewert ist die tatsächlich genutzte
    Anzahl der Feldelemente.
*3* anzeigen - Bildschirmausgabe des Feldes, Eingabeparameter sind die Adresse
    des Feldes und die Anzahl der Feldelemente, kein Rückgabewert.
*4* plus - addiert zwei Vektoren. Eingabeparameter sind die Anzahl der Feldele-
    mente und die Adressen der 3 Felder.
*5* maxi - bestimmt das Maximum eines Feldes. Eingabeparameter sind die Adresse
    des Feldes und die Anzahl der Feldelemente, Rückgabewert ist das Maximum.
*6* sort - sortiert die Elemente eines Feldes. Eingabeparameter sind die Adresse
    des Feldes und die Anzahl der Feldelemente und ein Wert für den Modus
    (+1 für steigend, -1 für fallend), kein Rückgabewert.
-----------------------------------------------------------------------------*/
#include <stdlib.h>
#define anzmax 100
void init ( int anz, float feld[] );
void zeig ( int anz, float feld[] );
float maxi( int anz, float feld[] );
int lies ( int anz, float feld[]);

int main()
{ float felda[anzmax], feldb[anzmax]; int k;   srand( time(0));

  init( anzmax, felda);                 zeig( anzmax, felda);
  printf(" Maximum von Feld A: %.4f\n", maxi( anzmax, felda) );

  init( anzmax, feldb);                  zeig( anzmax, feldb);
  printf(" Maximum von Feld B: %.4f\n ", maxi( anzmax, feldb) );

  k= lies( anzmax, felda);            zeig( k, felda);
  printf(" Maximum von Feld A: %.4f\n", maxi( k, felda) );

  printf("\n");    system("PAUSE");       return 0;
}
void init( int anz, float feld[] )
{  int i;
   for( i=0; i<anz; i++) feld[i]= rand()/327.67;
}
void zeig( int anz, float feld[] )
{  int i;
   printf("\n");
   for( i=0; i<anz; i++) printf("%8.4f", feld[i]);
   printf("\n");
}
float maxi( int anz, float feld[] )
{   int i; float max;
    max= feld[0];
    for( i=0; i<anz; i++) if( feld[i]>max)max= feld[i];
    return max;
}
int lies( int anz, float feld[])
{ int i, n;
  printf("\n Anzahl der Feldelemente (max.%i): ", anz);
  scanf("%i", &n);
  if( n>anz) n=anz;   printf("\n Und nun die Feldelemente: \n");
  for( i=0; i<n; i++) scanf("%f", &feld[i]);
  return n;
}
