Hallo floralis,
Zitat von
floralis:
Ich hoffe, dass es auch korrekt ist?
hast du dein Programm denn noch nicht selbst ausprobiert?
Hier noch ein paar Anmerkungen zu deiner Umsetzung:
Dein Unterprogramm ist überinformiert, die String-Variablen in der Signatur sind nicht nötig. Die minimale Information ist das Optimum. Der aufrufende Code weiß was er will - den Zeilenindex der Zeile mit dem größten (iMax) bzw. kleinsten (iMin) numerischen Wert in einer bestimmten Spalte (iCol) eines Grids (sg). Mehr sollte das Unterprogramm auch nicht erledigen (information hiding).
Bei der Namensgebung hatte dir Jürgen die "ungarische Notation" empfohlen. Das musst du nicht streng befolgen, zumal diese MS-interne Namenskonvention für den C-Compiler erfunden wurde, aber iName als String-Variable muss doch wirklich nicht sein!
In iCol übergibst du den Spaltenindex für die Spalte mit dem Ordnungskriterium (Größe), aber in der Prozedur überschreibst du den Wert zweimal unnötigerweise.
Bei Vergleichen würde ich eine einheitliche Regel verwenden: Das Maximum (Minimum) wird dann ersetzt, wenn der neue Wert echt größer (kleiner) als der alte ist. Du bist da in deinem Code nicht konsistent.
Wenn du alle Hinweise umsetzt, dann ist dein Code hinterher nur noch halb so groß und doppelt so gut lesbar.
Grüße vom marabu