/*
 * Aufgabe 20:
 * -----------
 *
 * Gegeben seien zwei Referenzen a und b, die auf Arrays der Form double[][]
 * verweisen. Überprüfen Sie auf zwei Arten ob beide Arrays gültige n*m
 * Matrizen sind:
 *
 *	* Die Matrix wird durchlaufen, um n und m zu bestimmen
 *
 *	* n und m werden vorgegeben.
 *
 * Hinweis: Beide Möglichkeiten benötigen eine Methode
 * boolean is_nKreuzm_Matrix(double[][] a, int n, int m)
 * die testet, ob a eine n*m Matrix ist.
 */
public class Aufgabe20 {
	/* Matrix a */
	private static double[][] a =
	{
		{1, 2, 3},
		{4, 5, 6},
		{7, 8, 9}
	};

	/* nicht-Matrix b */
	private static double[][] b =
	{
		{1, 3, 5, 7},
		{0, 2, 4, 6, 8}
	};

	public static boolean is_nKreuzm_Matrix(double[][] a, int n, int m)
	{
		while (n-- > 0)
			if (a[n].length != m)
				return (false);

		return (true);
	}

	public static void main(String[] argv)
	{
		/* Die Matrizen werden durchlaufen (HÄÄ!?) */
		if (is_nKreuzm_Matrix(a, a.length, a[0].length))
			System.out.println("a ist eine n*m Matrix (n = " +
				a.length + ", m = " + a[0].length + ")");
		else
			System.out.println("a ist keine n*m Matrix");

		/* zweite Möglichkeit ebenso unlogisch formuliert! */
		if (is_nKreuzm_Matrix(b, 2, 4))
			System.out.println("b ist eine n*m Matrix");
		else
			System.out.println("b ist keine n*m Matrix");
	}
}

