Buenas.
Necesito hacer un programa que me compare dos arreglos, para encontrar el valor del indice con la menor diferencia. Eh estado intentando con un programa de prueba que consiste en recorrer ambos vectores en ciclo for, tomando el valor absoluto de la resta de cada valor para luego compararlo mediante un if con el valor de la resta anterior, guardando el número menor, pero no me da resultado.
La verdad es que no se en que me estoy equivocando, probé la lógica del código en C y no me arrojo ningún problema, mostrando el valor del arreglo 9 y el indice 9.
Si alguien me pudiera orientar lo agradecería mucho.
int vector1[20]={1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9,10,19,5,10,11,12,16,17,18,19,29};
int vector2[20]={20,19,18,17,16,15,14,13,9,11,10,9, 8, 7, 6, 5, 4, 3, 2, 1};
int ptoy=0,ptox=0,absc=0,actu=0,anter=0;
void setup() {
Serial.begin(9600);
}
void loop() {
for (int i=0;i<=20;i++){
actu=(vector1[i]-vector2[i]);
if (actu<0){
absc=actu*-1; //valor absoluto de la resta
}
if(absc<anter){
ptoy=vector1[i];
//Serial.println(ptoy);
ptox=i;
}
int anter=absc;
}
Serial.print(ptoy);
Serial.print("/");
Serial.println(ptox);
}