Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Matrix » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Matrix
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
neuling96
unregistriert
Matrix Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

boolean gleich vergleicht zwei zeile ob sie indentisch sind
boolean enthaeltSpalte vergleicht eine matrix ob eine spalte enthalten ist
boolean entaelt spalte vergleicht eine matrix ob eine zeile enthalten ist
boolean transponieren soll eine matrix transponieren
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
   public class Matrix {

    static int[][] matrix = {
        { 1,  2,  3},
        { 4,  5,  6},
        { 7,  8,  9},
        {10, 11, 12}
    };

    public static boolean gleich(int[] a1, int[] a2) {
       boolean ergo = true;
if (a1.length== a2.length){
for (int i=0; i<a1.length;i++){
    if (!(a1[i]== a2 [i])) {
    ergo = false;
          break;
     }
   }
}
    return ergo;
     
    }
    
public static boolean enthaeltSpalte(int[][] matrix, int[] spalte) {
        
    boolean ergo = true;
   if (matrix.length== spalte.length){
for (int i=0; i<matrix[0].length; i++){
      ergo= true;
for (int y=0; y<matrix.length; y++){
if( !(matrix [y][i]== spalte [y])) {                         }
                ergo = false;
         break;
                 }
                }
              }
                         
            return ergo;
     }
 
    public static boolean enthaeltZeile(int[][] matrix, int[] zeile) {
    boolean ergo = true;
   if (matrix[0].length== zeile.length){
for (int i=0; i<matrix.length; i++){
      ergo= true;
for (int y=0; y<matrix.length; y++){
if( !(matrix [i][y]== zeile [y])){

    ergo = false;
         break;
                       }
                   }
                 }
              }
      return ergo;     
 }
    


  
         
    public static int[][] transponieren(int[][] matrix) {
        int [][] t= new int [matrix[0].length][matrix.length];
for (int i=0; i<matrix[0].length; i++){
for (int y=0; y<matrix.length; y++){
t[i][y]= matrix [y][i];
          }
        }
           return t;
     
   

 }

    public static void main(String[] args) {
        System.out.println("gleich({1,2,3}, {1,2,3}): "
                + gleich(new int[]{1, 2, 3}, new int[]{1, 2, 3})); // true

        System.out.println("enthaeltZeile(matrix, {1,2,3}): "
                + enthaeltZeile(matrix, new int[]{1, 2, 3})); // true
    }

}



Fehlermeldung: expection in thread "main" java.lang.arryindexofboundsexpcetion

was mache ich falsch?
17.12.2014 20:05
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du kamst mit den Dimensionen der Matrix durcheinander und hast Breite und Höhe vertauscht.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
public static boolean enthaeltZeile(int[][] matrix, int[] zeile) {
	int breite = matrix.length;
	int hoehe = matrix[0].length;
	boolean ergo = true;
	if (breite == zeile.length){
		for (int i=0; i < hoehe; i++){
			ergo= true;
			for (int y=0; y< breite; y++){
				if( !(matrix [i][y]== zeile [y])){
					ergo = false;
					break;
				}
			}
		}
	}
	return ergo;     
}


__________________
Syntax Highlighting fürs Board (Link)
17.12.2014 20:41 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ah vielen dank
ist das korrekt?
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
 public static int[][] transponieren(int[][] matrix) {
        int [][] t= new int [matrix[0].length][matrix.length];
for (int i=0; i<matrix[0].length; i++){
for (int y=0; y<matrix.length; y++){
t[i][y]= matrix [y][i];
          }
        }
           return t;
  
17.12.2014 21:06
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

sieht gut aus.

__________________
Syntax Highlighting fürs Board (Link)
18.12.2014 12:16 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Matrix