blikk info infothek forum galerie sitemap

CS-Löschen eines Elements in einem ARRAY

zur Aufgabenstellung

{ Schule :Gewerbeoberschule "Max Valier" Bozen
  Klasse : 3Ia
  Name   : Norbert Amrain
  Gruppe : 5
}

PROGRAM loesch;

USES
 Crt;

TYPE

 t_tab = ARRAY[1..1000] OF INTEGER;
{Prozedur zum loeschen der angegebenen Stelle}
PROCEDURE loeschen(stelle : INTEGER;
                    anz   : INTEGER;
                  VAR tab : t_tab);

{Variablen der Prozedur}
VAR
 i : INTEGER;
BEGIN
 FOR i:= 1 TO anz-1 DO BEGIN
  IF i < stelle THEN
   tab[i] := tab[i]
  ELSE
   tab[i] := tab[i+1]
 END;
END;

 

{Variablen des Hauptprogrammes}
VAR
 stelle, i, anz : INTEGER;
 tab : t_tab;

{Beginn des Hauptprogrammes}

BEGIN
 ClrScr;
 {Generiert Zufallszahlen neu}
 RANDOMIZE;
 {Fuellen des ARRAYs mit Zufallszahlen von 1 bis 20}
 Write('Wie viele Zahlen wollen Sie im Array haben:  ');
 Readln(anz);
 IF anz >1000 THEN BEGIN
  Writeln('So viele Felder gibt es nicht');
  Readkey
 END
 ELSE
  FOR i:= 1 TO anz DO BEGIN
   tab[i] := Random(20) + 1;
  {Ausgabe des vollstaendigen ARRAYs}
   Write('| ',tab[i]:2);
  END;
  Readkey;
  Writeln;
  Writeln('Welche Stelle des ARRAYs wollen sie loeschen?');
  Readln(stelle);
  IF (stelle >= 1) AND (stelle <=  anz) THEN BEGIN
   {Aufruf der 'loeschen'-Prozedur}
   loeschen(stelle,anz,tab);
   {Ausgabe des ARRAYs ohne die geloeschte Stelle}
   FOR i := 1 TO anz-1 DO
   Write('|  ',tab[i]:2)
  END
  ELSE
   Writeln('Diese Stelle ist nicht vorhanden!!');
   Readkey
 END;
END.

nach oben