Index des größten Arrayelements als Rückgabe einer Funktion



  • Hi,
    ich möchte eine Funktion schreiben, die in einem array den größten Wert sucht und als rückgabewert den Index dieses Elements zurückgibt. Sprich zum Bsp array [4]={2,4,2,1}
    und als rückgabewert dementsprechend 1.
    (Da array [1] am größten)
    Hat jemand eine Idee?
    Mfg
    der Fragesteller

    PS: Das eigentliche Problem is noch etwas komplizierter, da ich aus einem 2-dimensionalen Array, bei dem ich aber nur eine Dimension durchsuche, den rückgabewert brauche und ich auch nicht das ganze Array durchsuchen will, sondern z.B erst ab dem 4 Element bis zum Ende. Wenn das noch jemand wüsste wärs echt optimal.
    Danke.



  • Dazu brauchst du eine Schleife, in der du alle Elemente durchgehst:

    int max_pos(int* arr, int alen)
    {
      int i,p0=0;
      for(i=1;i<alen;++i)
        if(arr[i]>arr[p0) p0=i;
      return p0;
    }
    

    (PS: Unter C++ gibt es dafür std::max_element())


Anmelden zum Antworten