besoin d'aide Shell/bash svp

besoin d'aide Shell/bash svp - Shell/Batch - Programmation

Marsh Posté le 27-02-2019 à 19:16:51    

Bonsoir a tous, je suis débutant et je m'arrache les cheveux depuis tout a l'heure a essayer un script en shell je m'explique vant de devenir chauve  :lol:  :
 
Donc j'ai un fichier.csv qui contient sur chaque ligne des nombres separer avec des separateur aleatoire (,.:/;?...)
 
j'aimerai compter le nombre de ligne dont la somme de 3 nombre donne le nombre restant de la ligne peut importe l'ordre exemple :
 
22:11.46,79 ici les 3 premier donne le 4eme
11?79/22:46 ici les 2 dernier + le premier donne le 2eme
 
si quelqu'un peut m'aider serai genial  :jap:  

Reply

Marsh Posté le 27-02-2019 à 19:16:51   

Reply

Marsh Posté le 27-02-2019 à 19:32:03    

Bonjour,
 
Je n'y pas connais grand chose en Shell mais vu qu'il n'y a pas de code, le problème ne doit pas venir d'ici mais plus du côté algorithmique ?
Tu "parse" chaque ligne pour récupérer les 4 nombres et tu testes les 4 possibilités :
1 + 2 + 3 = 4 ?
1 + 2 + 4 = 3 ?
1 + 3 + 4 = 2 ?
2 + 3 + 4 = 1 ?


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 27-02-2019 à 20:32:13    

On pourrait aussi trier les nombres par ordre croissant et tester seulement 1+2+3=4 non?

Reply

Marsh Posté le 27-02-2019 à 21:16:46    

Oui et non.
 
Sans faire un vrai tri, trouver le max suffirait puis comparer la somme des 3 autres.
Mais pour trouver le max, il faut déjà faire 3 comparaisons. Puis pour le comparer aux autres il faut l'extraire puis faire une nouvelle comparaison. Donc on fera l'étape d'extraction en plus par rapport au test "manuel" de toutes les combinaisons.
 
Un tri serait serait encore plus gourmand.
 
Mais mis de côté le nombre d'opération à réaliser, oui c'est une bonne idée.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 27-02-2019 à 21:29:10    

C'est vrai que c'est plus d'opérations, mais (du moins en Perl) aussi moins de code. :o  
 
@tems93
Un truc en Perl te conviendrait?

Reply

Marsh Posté le 28-02-2019 à 17:47:49    

Bonjour a tous, merci infiniment pour toute vos reponses, désoler du retard, bon en fait le truc est beaucoup plus simple que prévu, il fallai seulement comparer si la somme des trois premiers nombres valais le quatrième  
Merci encore pour votre aide !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed