Benutzer-Werkzeuge

Webseiten-Werkzeuge


types:arrays:aufgabe6loesungen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
types:arrays:aufgabe6loesungen:start [2022/03/22 16:46] Martin Pabsttypes:arrays:aufgabe6loesungen:start [2022/03/31 14:48] (aktuell) – [Lösung zu c)] Martin Pabst
Zeile 60: Zeile 60:
 println(); println();
  
-// Maximum finden und ausgeben +// Summe berechnen und ausgeben 
-int maximum z[0];+int summe = 0;
  
-for(int i = 0; i < 10; i++){ +for(int i = 0; i < 10; i++) { 
-   if(z[i] > maximum){ +   summe = summe + z[i]
-   maximum = z[i];+
 + 
 +println("Die Summe der Zahlen ist: " + summe); 
 + 
 +</script> 
 +</HTML> 
 + 
 + 
 +===== Lösung zu c) ===== 
 +c) Das Programm soll untersuchen, ob das Feld mindestens zwei gleiche Zahlen enthält und dann ausgeben "Zwei gleiche Zahlen gefunden!" oder "Das Feld enthält lauter unterschiedliche Zahlen."
 +=== Strategie === 
 +Wir vergleichen zunächst  
 +  * ''z[0]'' mit ''z[1]'' bis ''z[9]'', dann  
 +  * ''z[1]'' mit ''z[2]'' bis ''z[9]'', dann  
 +  * ''z[2]'' mit ''z[3]'' bis ''z[9]'', usw... 
 +  * ... und zuletzt ''z[8]'' mit ''z[9]''
 +Falls wir dabei irgendwann zwei gleiche Zahlen gefunden haben merken wir uns das, indem wir eine boolesche Variable ''found'' auf ''true'' setzen. 
 + 
 +<HTML> 
 + 
 +<div class="java-online" style="height: 600px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Aufgabe6c'}"> 
 + 
 +<script type="text/plain" title="6c.java"> 
 +int[] z = new int[10]; 
 + 
 +// Mit Zufallszahlen belegen 
 +for(int i = 0; i < 10; i++) { 
 +   z[i] Random.randint(1, 100); 
 +
 + 
 +// Ausgeben 
 +for(int i = 0; i < 10; i++) { 
 +   print(z[i] + " "); 
 +
 +println(); 
 + 
 +boolean found = false; // Annahme: keine zwei gleichen Zahlen 
 + 
 +for(int i = 0; i <= 8; i++) { 
 +   for(int j = i + 1; j <= 9; j++){ 
 +      if(z[i] == z[j]){ 
 +         found = true; 
 +      }
    }    }
 } }
  
-println("Die Größte der Zahlen ist: + maximum);+if(found == true){     // Besser: if(found){ ... } 
 +   println("Zwei gleiche Zahlen gefunden!"); 
 +} else { 
 +   println("Das Feld enthält lauter unterschiedliche Zahlen."); 
 +}
  
 </script> </script>
 </HTML> </HTML>
 +
 +
 +===== Lösung zu d) =====
 +d) Das Programm soll die Reihenfolge der Zahlen im Feld umkehren, aus dem Feld [12, 3, 44, 8, 10, 1, 90, 50, 40, 30] soll also das Feld [30, 40, 50, 90, 1, 10, 8, 44, 3, 12] werden.
 +<HTML>
 +
 +<div class="java-online" style="height: 600px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Aufgabe6d'}">
 +
 +<script type="text/plain" title="6d.java">
 +int[] z = new int[10];
 +
 +// Mit Zufallszahlen belegen
 +for(int i = 0; i < 10; i++) {
 +   z[i] = Random.randint(1, 100);
 +}
 +
 +// Ausgeben
 +for(int i = 0; i < 10; i++) {
 +   print(z[i] + " ");
 +}
 +println();
 +
 +// Umkehren
 +for(int i = 0; i <= 4; i++) {
 +   // Dreiertausch:
 +   int a = z[i];
 +   z[i] = z[9 - i];
 +   z[9 - i] = a;
 +}
 +
 +// Nochmal Ausgeben
 +for(int i = 0; i < 10; i++) {
 +   print(z[i] + " ");
 +}
 +println();
 +
 +</script>
 +</HTML>
 +
  
types/arrays/aufgabe6loesungen/start.1647964004.txt.gz · Zuletzt geändert: 2022/03/22 16:46 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki