Remplissage d'un tableau de valeurs

Pour vous cela semble simple mais j'ai du mal à le réaliser:

Dans un sketch , je dois simplement stocker pour un traitement ulterieur , 5 valeurs contenues dans un nombre inconnu de lignes .. puis les relire une à une pour les traiter
Quelle est la meilleure manière de le faire?

(ligne1,valeur1) => (ligne1,valeur5)
puis
(ligne2,valeur1) => (ligne2,valeur5)
etc ....

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

J'avais pourtant cliqué sur catégorie "francais" à gauche et vu comme montré ici que j'étais en international francais

capture 2023-10-01 à 14.58.30

Comment trouve-t-on le forum francophone??

Bonjour @jo_6466

UKHelibob a trouvé ton message dans "Programming Questions" puis l'a déplacé, comme le montre le traçage :

ton 'clic' na
image

toujours pas compris où se fait la sélection forum français?

A mettre dans tes 'Favoris' , le lien direct vers la partie Francophone du Forum Arduino :wink:

https://forum.arduino.cc/c/international/francais/49

fait ... merci

Moi j'utiliserais un vecteur. Sur ESP32, la bibliothèque std::vector a été portée, mais sur Arduino, c'est pas sûr. Il doit exister un remplaçant :

Disponible sur le gestionnaire de bibliothèques, mais regarde bien avant de l'installer si elle répond au besoin.

Comme chaque ligne contient 5 valeurs, tu peux soit faire un vecteur de vecteurs, soit faire un vecteur de struct

Merci mais trop complexe pour moi ... je n'y arriverai pas

Si tu veux quelque chose de simple, peut être l'utilisation d'une librairie de List ferait l'affaire.
J'ai trouvé celle-ci avec google mais je n'ai pas testé.

Sinon cela évoque tableau de tableau ou tableau à deux dimensions, la première étant indéterminée, donc à gérer avec des allocations mémoires :frowning:

Bonjour jo_6466

Sur quel support se trouvent ces données?

Est ce que ce traitement est individuel pour chaque ligne ou y a t'il interaction entre ces divers résultats?

Cordialement
jpbbricole

Le traitement se fera sur les 5 champs individuellement
Contrairement à ce que j'ai dit, le nombre de lignes sera connu

Cela dépend du type des données et de ce que tu en fais par la suite.
Ce peut-être un tableau à 2 dimensions ou un tableau de structures ou des variables distinctes.
Tu ne dis même pas si c'est des valeurs numériques (stockées sous quelle forme??) ou des chaines de caractères.

Bonjour jo_6466

Sur quel support sont ces données.
Les données de chaque ligne sont séparées par des virgules?

A+
jpbbricole

Si tout est connu, le plus "simple" est à mon avis un tableau à deux dimension tab[n][5]
tu peux parcourir avec un simple "For" et tu peux y accéder en faisant tab[y][x]

Bonjour jo_6466

La comparaison se fait uniquement entre les 5 valeurs d'une même ligne ou les 5 données d'une ligne sont comparées avec toutes les autre données de lignes?

A+
Cordialement
jpbbricole

Bon il est temps que je vous explique mieux les choses :

les données proviennent d'un fichier CSV contenant des chiffres et des caractères placé sur une carte SD .. 5 colonnes par ligne ... l'extraction me donne également le nombre de lignes qui s'y trouvent mais qui pourra évoluer selon l'ajout de lignes dans mon tableau excel
j'ai écrit le sketch pour en extraire les données individuellement ... j'obtiens par ligne 5 valeurs bien distinctes
maintenant je voudrais les stocker pour pouvoir plus tard comparer, ligne par ligne, ces 5 valeurs à une autre et prendre les décisions nécessaires

Finallement, je pense qu'il serait plus judiciable de ne rien stocker du tout et de traiter directement les 5 champs de la 1ere ligne dès que celle-ci est lue .. et d'ensuite lire la 2eme etc ....

est-ce vous qui générez ce fichier ?
si oui est-il destiné à être lu par un humain ?

➜ s'il n'est pas forcément lu par un humain, vous pourriez le générer en format binaire. sa relecture est ainsi extrêmement simplifiée. Il est parfois aussi envisageable de générer deux fichiers, un .csv pour les humains et un .bin pour le traitement informatique


dans les catégories en haut vous sélectionnez international puis après Français