int temp;
float valeur;
void setup() {
int temp = 27;
float valeur[17][2] =
{
{10, 0},
{15, 2.4},
{20, 4.8},
{25, 7.2},
{30, 9.6},
{35, 12},
{40, 14.3},
{45, 16.7},
{50, 19},
{55, 21.4},
{60, 23.8},
{65, 26.1},
{70, 28.5},
{75, 31},
{80, 33.3},
{85, 35.7 }
};
}
void loop() {
}
void test()
{
float val = 19; // si non trouvé dans le tableau
for (int i = 0; i < 17; i++)
{
if (temp < valeur[i][0])
{
val = valeur[i][1];
break;
}
}
}
Arduino : 1.6.5 Hourly Build 2015/10/23 11:42 (Windows 7), Carte : "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
sketch_nov03a.ino: In function 'void setup()':
sketch_nov03a:7: error: invalid types 'float[int]' for array subscript
sketch_nov03a.ino: In function 'void test()':
sketch_nov03a:38: error: invalid types 'float[int]' for array subscript
sketch_nov03a:40: error: invalid types 'float[int]' for array subscript
invalid types 'float[int]' for array subscript
Ce rapport contiendrait plus d'informations si l'option
"Montrer les informations de sortie pendant la compilation"
était activée dans Fichier > Préférences.
Tu déclare une variable simple float valeur puis tu affectes sa valeur en tant que tableau.
Ton tableau valeur doit être déclaré en dehors de setup si tu veux qu'il soit accessible dans d'autres fonction.
int temp = 27;
float valeur[17][2] =
{
{10, 0},
{15, 2.4},
{20, 4.8},
{25, 7.2},
{30, 9.6},
{35, 12},
{40, 14.3},
{45, 16.7},
{50, 19},
{55, 21.4},
{60, 23.8},
{65, 26.1},
{70, 28.5},
{75, 31},
{80, 33.3},
{85, 35.7 }
};
void setup() {
}
void loop() {
}
void test()
{
float val = 19; // si non trouvé dans le tableau
for (int i = 0; i < 17; i++)
{
if (temp < valeur[i][0])
{
val = valeur[i][1];
break;
}
}
}