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ß