Methode double [ ][ ] sum3D(double[ ][ ][ ] cubic) schreiben

  • Themenstarter Themenstarter Frank
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
F

Frank

Gast
Ich muss eine Methode doubl e [ ][ ] sum3D(doubl e[ ][ ][ ] cubic) schreiben ; die die Summe der Elemente
der dritten Felddimension des Feldes cubic berechnet und diese als (zweidimensionale)
Matrix zurückgibt. Beispiel: Für die 2 x 3 x 4 Eingabe-matrix C
C1 = ( 2,3,4,5 ; 7,3,1,-1 ; 13,20,3,10 )
C2 = ( 10,3,7,9 ; 0,1,3,2 ; 8,7,6,5 )
sum3D(C)==( 14,29 ; 10,6 ; 46,26 )

Idee:
Speicher holen fuer das 2D-Array mit den ersten beiden Laengen, in dem gegebenen 3D-Array jeweils ueber den 3. Index summieren und in die 2D-Matrix entsprechend der ersten 2 Indizes eintragen.

Ein- und Ausgaberoutine erfinden.

wer kann mir helfen diese Aufgabe konkreter zu machen
 
Code:
double [][] sum3D(double cubic[][][]) 
{
  double result[][] = new double[cubic.length][cubic[0].length];
  for(int i=0; i<cubic.length; i++)
  {
    for(int j=0; j<cubic[i].length; i++)
    {
      double sum = 0;
      for(int k=0; k<cubic[i][j].length; k++)
        sum += cubic[i][j][k];
    }
    result[i][j] = sum;
  }
  return result;
}
 
Ups! Kleiner Fehler.
Jetzt aber...
Code:
double [][] sum3D(double cubic[][][]) 
{ 
  double result[][] = new double[cubic.length][cubic[0].length]; 
  for(int i=0; i<cubic.length; i++) 
  { 
    for(int j=0; j<cubic[i].length; i++) 
    { 
      double sum = 0; 
      for(int k=0; k<cubic[i][j].length; k++) 
        sum += cubic[i][j][k]; 
      result[i][j] = sum;
    } 
  } 
  return result; 
}
 
...und wo ein Fehler da ist, ist ein zweiter nicht weit :roll:
Code:
double [][] sum3D(double cubic[][][]) 
{ 
  double result[][] = new double[cubic.length][cubic[0].length]; 
  for(int i=0; i<cubic.length; i++) 
  { 
    for(int j=0; j<cubic[i].length; j++) 
    { 
      double sum = 0; 
      for(int k=0; k<cubic[i][j].length; k++) 
        sum += cubic[i][j][k]; 
      result[i][j] = sum; 
    } 
  } 
  return result; 
}
 
@Frank: Es wäre toll, wenn du bei Fragen darauf hinweisen würdest, wenn die Frage auch an einer anderen Stelle besprochen wird, oder wenn sie gar an anderer Stelle schon beantwortet wurde. Hättest du Bescheid gesagt, dass die Frage schon auf http://forum.javacore.de/viewtopic.php?t=1122&start=0&postdays=0&postorder=asc&highlight= besprochen wurde, dann hätte sich der Gast seine Arbeit hier ersparen können. Das war kein netter Zug von dir, Frank. Die Leute, die dir helfen, investieren dafür einiges an Zeit. Es ist nicht schön, wenn man im Nachhinein merkt, dass das vollkommen umsonst war.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben