Also habe folgende Aufgaben: 1.Schreiben Sie eine C-Funktion, die für eine 5×5-Matrix das größte Element zurück liefert.Welche
Typdeklaration ist dazu notwendig? 2.Wie ist die Funktion zu verändern, wenn neben dem Wert des Elementes auch dessen Position
in der Matrix ermittelt werden soll?
Meine Lösung zu 1.:
#include <stdio.h>
int matrixc(int input[5][5]);
int main() {
int output;
int matrix[5][5] = {
{1,2,3,4,5},
{5,6,7,8,9},
{4,3,2,1,9},
{1,2,3,4,5},
{0,0,0,0,2}};
// Aufruf der Funktion, die du schreiben sollst
// Dabei wird die Matrix übergeben
output = matrixc(matrix);
// Kann man auch noch ausgeben, um besser zu kontrollieren
printf("%d\n", output);
}
// Und die schreibst du dann:
int matrixc(int input[5][5]) {
// lokale Variablen
int i,z;
int high = input[0][0]; // Anfangswert ist der erste Wert
/**
* Nun für jede Zeile und Spalte durchlaufen
* und dabei immer das Element speichern, welches
* größer ist, als das aktuelle Element.
*/
for (i=0; i < 5; i++) {
for(z=0; z < 5; z++) {
if (input[i][z] > high) {
high = input[i][z];
}
}
}
return high;
}
und 2. weiß ich nicht was ich verändern soll bzw dazukommt[Blockierte Grafik: http://www.informatikforum.de/images/smilies/smile.gif]