Ermitteln von Maximalwerten in ein- und mehrdimensionalen Matrizen

12/05/2008 - 11:38 von Markus Hochholzer | Report spam
Hallo Gruppe,

mittels folgendem Codeausschnitt versuche ich aus eindimensionalen und
zweidimensionalen Matrizen die Maximalwerte zu bestimmen.
Mit den eindimensionalen Matrizen funktioniert es.
Bei den zweidimensionalen Matrizen erhalte ich einen CS1503 und ich als
C#-Neuling weiß nicht was da falsch làuft.

public double max (double[] A)
{
double m = A[0];
for (int i = 1; i < A.Length; i++)
m = Math.Max(m, A[i]);
return m;
}

public double max (double[,] A)
{
double m = this.max(A[0, 0]); //
for (int i = 1; i < A.Length; i++)
m = Math.Max(m, this.max(A[i, 0])); //
return m;
}

Gruß Markus
 

Lesen sie die antworten

#1 Frank Dzaebel
12/05/2008 - 12:39 | Warnen spam
Hallo Markus,

public double max (double[,] A)
{
double m = this.max(A[0, 0]); //
for (int i = 1; i < A.Length; i++)
m = Math.Max(m, this.max(A[i, 0])); //
return m;
}



Nebenbei: Schreibe Methodennamen PascalCase und
Übergabeparameter CamelCase:

[Richtlinien für Namen]
http://msdn.microsoft.com/de-de/lib...29002.aspx

___________________
Hier eine mögliche Implementierung, wenn die
grösste Zahl aller Elemente gemeint ist:

public double Max(double[,] arr)
{
double max = double.MinValue;
foreach (double d in arr) if (d > max) max = d;
return max;
}


In C# 3.0 kannst Du u.a. auch LINQ-
Abfrageausdrücke, Erweiterungsmethoden,
oder Auflistungs-Initialisierer benutzen:

double[] arr1 = {1,2,3}; double max1 = arr1.Max();


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen