Ok grazie ora non mi segnala più errori ma non sembra fare nulla. Ricontrollerò che a livello di codice sia tutto giusto aldilà degli errori. Per ora senza errori segnalati è così:
const int LNGT = 100;
int data[LNGT], *pd;
int high = LNGT - 1;
int low = 0, mid;
int target = 20, found = 0;
int i = 0, n = 0;
int result;
void setup() {
pd = &data[0];
Serial.begin (9600);
for (i = 0; i < LNGT; i++) {
data[n++] = i;
}
int result = binarySearch(data, target, low, high);
if (data[mid] > target) {
int x = binarySearch(data, target, low, mid - 1);
// Search the right half
int y = binarySearch(data, target, mid + 1, high);
}
if (result == -1) {
printf("Not found");
}
else {
printf("Element is found at index %d", result);
}
}
int binarySearch(int *data, int target, int low, int high) {
if (high >= low) {
int mid = low + (high - low) / 2;
}
// If found at mid, then return it
if (data[mid] == target) {
return mid;
}
// Search the left half
return -1;
}
void loop() {
}
Forse potrebbe essere anche un problema di Tinkercad, non potendolo provare con IDE e Arduino collegato.