/* 1. n Messwerte ti (Zeit) und Ui (Spannung) mit ti= 0, 1, ..., n-1 und Ui in
Form von nicht ganzzahligen Zufallszahlen werden zusammen in ein Feld
gespeichert (Funktion 'erfassen').
Das Maximum der Werte von Ui ist zu ermitteln und zusammen mit den zugehörigen
ti Werten auszugeben unter Beachtung der Tatsache, daß das Maximum der Ui
mehrfach auftreten könnte (Funktion 'maxi').
------------------------------------------------------------------------------*/
#include <stdlib.h>
struct  mess_typ   /* Typdefinition für die Struktur entsprechend der  Aufgabe*/
{ int ti;
  float ui;
};
void erfassen( int anz, struct mess_typ m[] )
{ int i;
  srand(time(0));
  for( i=0; i<anz; i++){ m[i].ti= i;  m[i].ui= rand()/3276.7;    // %10
                         printf("%3i  ti=%3i, ui=%9.4f\n", i, m[i].ti, m[i].ui);
} }
struct mess_typ maxi( int anz, struct mess_typ m[] )
{ int i;
  struct mess_typ max;    max= m[0];
  for( i=0; i<anz; i++) if( m[i].ui > max.ui) max= m[i];
  for( i=0; i<anz; i++) if( m[i].ui == max.ui)
                         printf("%3i  ti=%3i, ui= %f\n", i, m[i].ti, m[i].ui);
  return max;
}
int main()
{ struct mess_typ messreihe[1000], m;  int n= 50;

  erfassen( n, messreihe); printf("\n");
  m= maxi( n, messreihe);  printf("\n Max= %f\n\n", m.ui);
  printf("\n");    system("PAUSE");      return 0;
}
