M
Zwei Tipps noch:
bool ErmittlungTransIndices( int * & iA, int anzGleichNr, int Hilfswert )
{
...
}
1. Funktionen, die bool zurückgeben, können (v.a. in Projekten, in denen eh alles englisch läuft) einen Namen erhalten, der mit "is", "has" oder so beginnt (auf deutsch dann eben "ist" oder "hat").
2. Benenne Deine Funktion richtig! Was macht sie wirklich? "Ermittelt" sie tatsächlich "Trans-Indizes"?? Was soll das sein?
Nein, sie schaut einfach, ob ein Wert in einem Array vorhanden ist. Das sollte auch der Name sein. In welchem Kontext sie das tut, bestimmt dann der jeweilige Aufrufer. Könnte ja sein, dass du zu einem völlig anderen Zweck an anderer Stelle wissen musst, ob ein Wert im Array enthalten ist. Dann wäre dein ursprünglicher Name doppelt falsch.
Beides zusammen ergibt dann z.B.: "isValueInArray" oder, um näher an der allgemeinen Terminologie zu bleiben: "isFoundInArray".
Dann liest sich nämlich deine if-Abfrage wie folgt auf deutsch (das "== false" kann ebenfalls entfallen, wobei man das Ganze negieren muss, damit der Name stimmt):
if( ! istImArrayEnthalten( * & iA, anzGleichNr, Hilfswert ) )
{
iT[anzUngleichNr] = i;
anzUngleichNr++;
}