{++++++++++++++++++++++++++++++	}
{         Praktikumsaufgaben 13 INF00     	}
{             Aufgabe_3 , Turbo Pascal         	}
{                     mastro            	} 
{++++++++++++++++++++++++++++	}

program genarrayte;

USES crt;
const max_array = 50;
      max : integer = 20;
      count_a : integer = 0;
      count_b : integer = 0;


TYPE feld = array[0..max_array] OF integer;  {Datentyp}
VAR
   array_main, array_a, array_b : feld;

procedure array_init;

   VAR
      i, sort : integer;

BEGIN
      randomize;
      max := random(max_array div 2)+(max_array div 2)+1; {random(31)+20;}
      for i := 0 to max do
          Begin
             array_main[i] := random (30)+(31*i);
          End;
End;

procedure array_split;
VAR
   i : integer;

Begin
    for i := 0 to max do
    begin
        if (array_main[i] mod 2) = 0 THEN
           Begin
               array_a[count_a] := array_main[i];
               inc(count_a);
           end            (* kein ; vor else *)
        else begin
        array_b[count_b] := array_main[i];
        inc(count_b);
        end;
    End;
End;




















procedure array_output;
VAR
   counter : integer;

Begin
     clrscr;
     writeLn('Ausgabe von Feld_A');
     for counter := 1 to count_a do
     Begin
         gotoxy(2,counter +2);
         writeLn(counter,'.te gerade Zufallszahl = ', array_a[counter-1]);
     End;

     writeLn('Bitte <Taste> druecken!');
     Readkey;
     gotoxy(40,1);
     writeLn('Ausgabe von Feld_B');
     for counter := 1 to count_b do
     Begin
          gotoxy(40,counter +1);
          writeLn(counter,'.te ungerade Zufallszahl = ', array_b[counter-1]);
     End;
     textcolor(lightgray);
     write('Gesamtzahl = ');
     textcolor(red);
     writeLn(count_a + count_b);
     textcolor(lightgray);
     writeln;
End;

BEGIN
     array_init;
     array_split;
     array_output;
     readkey;
End.
