"Programmieren Sie eine Prozedur, die eine unter (a) erzeugte Liste als Argument verarbeitet und die unter Verwendung von (b) sortierte Liste zurückgibt!"
Laut Aufgabenstellung ist Folgendes zu tun:
1. Ihr erstellt eine Liste (ein Array) mit den Zahlenpaaren
2. Ihr erstellt eine Funktion, der ihr das Array 'zahlenpaare' übergebt: sortiereListe(zahlenpaare);
3. Diese Funktion sortiert die Zahlenpaare und gibt die sortierte Liste (Array) zurück. return zahlenpaare;
Wie es scheint, müsst ihr die beiden Teile einfach nur über eine Funktion verknüpfen...
In Actionscript-2 kann man das mit 4 Arrays wie folgt realisieren (sicher geht es noch "eleganter"):
var zahlX1:Array = new Array();
var zahlX2:Array = new Array();
var zahlY1:Array = new Array();
var zahlY2:Array = new Array();
for(var i:Number=0;i<20;i++) {
// Ganze Zahl von 0 bis 100
zahlX1[i] = Math.floor(Math.random()*100); // ganze Zahl von 0 bis 100
zahlX2[i] = Math.floor(Math.random()*100);
zahlY1[i] = Math.floor(Math.random()*100);
zahlY2[i] = Math.floor(Math.random()*100);
// Ausgabe der Zahlenpaare x(x1;x2) und y(y1;y2)
trace("x:("+zahlX1[i]+";"+zahlX2[i]+") y:("+zahlY1[i]+";"+zahlY2[i]+")");
}
// Übergabe der Arrays an die Funktion
sortiereZahlenpaare(zahlX1, zahlX2, zahlY1, zahlY2);
function sortiereZahlenpaare(zahlX1:Array, zahlX2:Array, zahlY1:Array, zahlY2:Array) {
for(var i:Number=0;i<20;i++) {
var maxX:Number = Math.max(zahlX1[i],zahlX2[i]);
var maxY:Number = Math.max(zahlY1[i],zahlY2[i]);
if ( maxX > maxY ) {
trace(i+": " + maxX + " > " + maxY);
}
else if ( maxX == maxY ) {
var sumX12:Number = zahlX1[i] + zahlX2[i];
var sumY12:Number = zahlY1[i] + zahlY2[i];
if(sumX12 > sumY12) {
trace(i+"*:" + sumX12 + " > " + sumY12);
}
}
}
}
PS: Da Maple 16 Professional derzeit 2.280,00 € kostet, können wir euch nicht in "Maple-Code" weiterhelfen :)