Thunder90 Geschrieben 4. November 2010 Geschrieben 4. November 2010 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[z] > high) { high = input[z]; } } } return high; } und 2. weiß ich nicht was ich verändern soll bzw dazukommt
lupo49 Geschrieben 4. November 2010 Geschrieben 4. November 2010 Du musst doch dann nur noch zusätzlich die i/z-Koordinaten abspeichern, wenn die IF-Bedingung zutrifft. Die Position wird nur durch i und z bestimmt.
Thunder90 Geschrieben 4. November 2010 Autor Geschrieben 4. November 2010 also muss ich i und j noch ausgeben oder wie?
Klotzkopp Geschrieben 4. November 2010 Geschrieben 4. November 2010 also muss ich i und j noch ausgeben oder wie?Du musst dir die Werte in i und z merken, an denen die letzte Zuweisung an high stattgefunden hat. Die könntest du dann über Referenzparameter an den Aufrufer zurückgeben.
Thunder90 Geschrieben 4. November 2010 Autor Geschrieben 4. November 2010 kann mir einer sagen wie das geht? also der cod
Klotzkopp Geschrieben 4. November 2010 Geschrieben 4. November 2010 kann mir einer sagen wie das geht? also der codWie wäre es mit ein wenig Eigeninitiative? Wenn du Aufgabe 1 selbst gelöst hast, sollte das doch kein großes Problem darstellen
Thunder90 Geschrieben 4. November 2010 Autor Geschrieben 4. November 2010 ok denn werde ich es mal versuchen;)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden