erstellt 27.05.03; übersetzt 20.06.03; überarbeitet 17.02.04, 24.01.05, 20.02.24, 15.03.24;


Kapitel 37 Programmieraufgaben

Arrays können verwirrend sein. Das Problem mit Arrays ist, dass jetzt in den Anweisungen zusätzlich indexiert werden muss, damit sie ihre übliche Arbeit tun. Zuweisungsanweisungen waren gewohnt einfach:

summe = ergebnis + wert;

Jetzt können sie kompliziert sein:

summe = ergebnis[j] + wert[k];

Tatsächlich sind Arrays nicht so schwierig, sobald Ihr Euch mit der Notation vertraut gemacht haben. Das braucht nur Übung. Mit diesen Aufgaben bekommt Ihr Übung in der Verwendung von Indizes.

Kopiert jedes Programmgrundgerüst in Eure Entwicklungsumgebung und vervollständigt es dort wie vorgegeben. Kompiliert und startet dann das Programm.


Aufgabe 1 — Array Summe

Wir betrachten das folgende Programm:

class Uebung1
{
  public static void main ( String[] args )
  {
    int[] arr = {0, 1, 2, 3};

    int summe  =

    System.out.println( "Summe aller Zahlen = " + summe );

   }
}

Wir vervollständigen die Zuweisungsanweisung, so dass sie die Summe der Zahlen im Array berechnet werden.

Zurück zum Inhaltsverzeichnis.


Aufgabe 2 — Zwei Arrays

Wir betrachten das folgende Programm:

class Uebung2
{
  public static void main ( String[] args )
  {
    int[] arr = {13, -4, 82, 17};
    int[] doppelt;

    System.out.println( "Urspruengliches Array: "
        + arr[0] + " " + arr[1] + " " + arr[2] + " " + arr[3] );

    // Konstruieren des Arrayobjekts fuer doppelt.


    // Wir stellen die Werte in doppelt, die zweimal so gross sind
    // als ihre entsprechenden Werte in arr



    System.out.println( "Neues Array: "
        + doppelt[0] + " " + doppelt[1] + " " + doppelt[2] + " " + doppelt[3] );
   }
}

Wir vervollständigen das Programm, so dass ein neues Array doppelt konstruiert wird. Kopieren dann die Werte von arr nach doppelt, aber so, dass die Werte in doppelt zweimal so groß sind als die Werte in arr.

Zurück zum Inhaltsverzeichnis.


Aufgabe 3 — Drei Arrays

Wir betrachten das folgende Programm:

class Uebung3
{
  public static void main ( String[] args )
  {
    int[] arrA   = { 13, -22,  82,  17};
    int[] arrB   = {-12,  24, -79, -13};
    int[] summe    = {  0,   0,   0,   0};

    // Wir addieren die Werte der entsprechenden Zellen von arrA und arrB,
    // und stellen das Ergebnis in den entsprechenden Zellen von summe.




    System.out.println( "Summe: "
        + summe[0] + " " + summe[1] + " " + summe[2] + " " + summe[3] );
   }
}

Vervollständigt das Programm mit vier Zuweisungsanweisungen, so dass jede Zelle von summe die Summe der entsprechenden Zellen von arrA und arrB enthält. D.h., addiert die Zelle 0 von arrA mit Zelle 0 von arrB und stellt das Ergebnis in die Zelle 0 von summe und so weiter.

Zurück zum Inhaltsverzeichnis.


Aufgabe 4 — Die gleiche Summe

Wir betrachten das folgende Programm:

class Uebung4
{
  public static void main ( String[] args )
  {
    int[] arrA   = { 13, -22,  82,  17};
    int[] arrB   = {  0,   0,   0,   0};

    // Wir stellen Werte in arrB, so dass die Summe der Werte
    // der entsprechenden Zellen von arrA und arrB 25 ist.





    System.out.println( "arrA: "
        + arrA[0] + " " + arrA[1] + " " + arrA[2] + " " + arrA[3] );

    System.out.println( "arrB: "
        + arrB[0] + " " + arrB[1] + " " + arrB[2] + " " + arrB[3] );

    System.out.println( "Summe:  "
        + (arrA[0]+arrB[0]) + " " + (arrA[1]+arrB[1]) + " "
        + (arrA[2]+arrB[2]) + " " + (arrA[3]+arrB[3]) );
   }
}

Wir vervollständigen das Programm mit vier Zuweisungsanweisungen, die Werte so in arrB stellen, dass die Summe der entsprechenden Zellen von arrA und arrB 25 ist.

Zurück zum Inhaltsverzeichnis.


Aufgabe 5 — Umgekehrte Reihenfolge

Wir betrachten das folgende Programm:

class Uebung5
{
  public static void main ( String[] args )
  {
    int[] arr = {0, 1, 2, 3};
    int temp;

    System.out.println( "Urspruengliches Array: "
        + arr[0] + " " + arr[1] + " " + arr[2] + " " + arr[3] );

    //Wir kehren die Reihenfolge der Zahlen in dem Array um




    System.out.println( "Umgekehrtes Array: "
        + arr[0] + " " + arr[1] + " " + arr[2] + " " + arr[3] );
   }
}

Wir vervollständigen das Programm, so dass die Zahlen in dem Array in umgekehrter Reihenfolge erscheinen. Ihr werdet eine Variable temp brauchen, um das zu tun.

Hinweis vom Autor Bradley Kjell: Das ist eine schwierigere Aufgabe als Ihr denken mögt. Ich stelle sie manchmal in den Prüfungen Mitte des Semesters und manche Studenten können sie nicht lösen.

Zurück zum Inhaltsverzeichnis.


Ende der Aufgaben