Arrays vergleichen, größte und kleinste Zahl finden

Hallo,

ich habe 4 Arrays mit einer bestimmten Länge (hier 5). Ich möchte gerne diese 4 Arrays miteinander vergleichen und zwar immer die gleichen indizes miteinander. Also Array a[0] und b[0] und c[0] und d[0] danach dann a[1] und b[1] und c[] und d[1] und so weiter.

Dabei möchte ich gerne den höchsten und niedrigsten Wert eliminieren und aus den anderen zwei den Mittelwert bilden. Das Ergebnis schreibe ich dann in ein weiteres Array a_set[5].

Diesen Code habe ich dazu geschrieben aber es funktioniert nicht und ich finde meinen Fehler nicht....

int const grad=5;
int a[]={1,2,3,4,5},b[]={6,7,8,9,10},c[]={11,12,13,14,15},d[]={16,17,18,19,20};
int a_set[grad];

void setup() {
  // put your setup code here, to run once:
Serial.begin (9600);

  for (int i=0; i<grad; i++)
  {
    int maximal=0, minimal=9999;

    Serial.print(maximal);
    Serial.print("  ");
    
    if (a[i]>maximal) {maximal=a;}
    Serial.print(maximal);
    Serial.print("  ");
    
    if (b[i]>maximal) {maximal=b;}
    Serial.print(maximal);
    Serial.print("  ");
    
    if (c[i]>maximal) {maximal=c;}
    Serial.print(maximal);
    Serial.print("  ");
    
    if (d[i]>maximal) {maximal=d;}
    Serial.print(maximal);
    Serial.print("  ");
    Serial.print("\n");

    if (a[i]<minimal) {minimal=a;}
    if (b[i]<minimal) {minimal=b;}
    if (c[i]<minimal) {minimal=c;}
    if (d[i]<minimal) {minimal=d;}

   
    
    
   
    a_set[i]=(a[i]+b[i]+c[i]+d[i]-maximal-minimal)/2;

    Serial.print(a_set[i]);
    
    delay(5000);
  }

Ich habe mir zum verstehen nach jedem Vergleich bei den Maximals das neue Maximal ausgeben lassen und er zeigt dies an: 0 286 286 286 286

Sieht jmd meinen Fehler oder mach ich etwas grundlegendes falsch?

Danke für eure Antworten.

Gruß

Versuche

maximal=a[i];

auch für b, c und d.

Hast Du die Warnungen beim Kompilieren eingeschaltet, da sollte eigentlich was zu lesen sein.

Dankeschön! Gerade in dem Moment habe ich es auch gesehen. Jetzt funktioniert es :smiley: