[infostudents] AT Blatt 9

  • From: don.vito.c@xxxxxx
  • To: infostudents@xxxxxxxxxxxxx
  • Date: Sat, 20 Dec 2008 18:11:32 +0100

Task 1

Ich habe mich mal an Task 1 versucht. Anbei mein Java-Code. Allerdings funktioniert es nicht. In Zeile 40 wird der Index von p[j] zu groß, das heißt j = 7. Ich habe als Vorlage den Code von Folie 26 genommen. Hat irgendjemand eine Ahnung wieso es zu diesem Fehler kommt?

Ich habe den Code jedenfalls 3x geprüft und keinen Unterschied zu dem Code aus der Vorlesung gefunden..

   private int min(int[] z){
       int smallest = z[0];
       for(int i = 0; i <= z.length - 1; i++){
if(z[i] < smallest) smallest = z[i]; }
       return smallest;
   }
public String[][] dynMatChain(int[] p){
       int n = p.length;
       String[][] m = new String[n+1][n+1];
       int[][] s = new int[n+1][n+1];
       for(int i = 1; i <= n; i++) m[i][i] = "0";
       for(int l = 2; l <= n; l++){
           for(int i = 1; i <= n - l + 1; i++){
               int j = i + l - 1;
               m[i][j] = "99999";
               int[] a = new int[20];
               a[0] = Integer.parseInt(m[i][j]);
int z = 1; for(int k = i; k <= j - 1; k++){ int q = Integer.parseInt(m[i][j]); a[z] = p[i-1]*p[k]*p[j] + Integer.parseInt(m[i][k]) + Integer.parseInt(m[k + 1][j]);
                   z++;
                   m[i][j] = String.valueOf(min(a));
                   if(Integer.parseInt(m[i][j]) < q) s[i][j] = k;
} }
       }
       return m;
}

und zum Testen
public class MethodTest {


   public static void main(String[] args) {
       Method a = new Method();
       int[] p = {6,10,4,13,5,25,8};
       String[][] result = a.dynMatChain(p);
       for(int i = 0; i < 6; i++){
           for(int j= 0; j < 6; j++){
               System.out.print(result[j][i] + "\t");
}
           System.out.println("\n");
       }

   }

}

---
Sent through the Infostudents Mailinglist

List Archive:
//www.freelists.org/archives/infostudents/

Subscribe / Unsubscribe:
//www.freelists.org/list/infostudents

Other related posts:

  • » [infostudents] AT Blatt 9 - don . vito . c