Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › Trouver le maximum de plusieurs variables, ordonner
Étiqueté : max maximum slib ordonner
- Ce sujet contient 5 réponses, 2 participants et a été mis à jour pour la dernière fois par
Joël, le il y a 6 années et 1 mois.
-
AuteurMessages
-
-
31 janvier 2017 à 21:11 #3637
Joël
Participant::Bonjour,
Après plusieurs essais infructueux avec la fonction max, j’ai relu la doc pour me rendre compte que la fonction max ne cherche le maximum que de deux nombres.
C’est un peu dommage, j’ai donc une petite routine:
\matrix{datas=\a,\b,\c,\d} \real{maxi=\datas[1;1]} \integer{nb=items(\datas)} \for{j=2 to \nb}{ \real{maxi=max(\maxi,\datas[1;\j])}
Y aurait-il une solution plus compacte, une slib existante que je n’aurais pas vu, ou la possibilité d’implémenter ce code dans les slib, ou dans créer un qui ordonnerait la matrice ligne dans le sens croissant.
Merci.
-
Ce sujet a été modifié le il y a 6 années et 1 mois par
Joël.
-
Ce sujet a été modifié le il y a 6 années et 1 mois par
-
1 février 2017 à 08:08 #3641
bernadette
Maître des clés::En effet je fais cela avec pari
\matrix{datas=pari([\a,\b,\c,\d])}
\text{datas=pari(vecmax([\a,\b,\c,\d]))}
dans ce cas suffit.?vecmax
vecmax(x,{&v}): largest entry in the vector/matrix x. If v is present, set it
to the index of a largest entry (indirect max).Je n’ai pas testé, j’espère ne pas avoir oublié de parenthèses !
-
1 février 2017 à 13:26 #3645
-
1 février 2017 à 20:02 #3651
bernadette
Maître des clés::Dans la classe ouverte de développement, il y a un pdf d’introduction à GP/Pari
qui doit parler de ce genre de choses (je l’ai écrit il y a très longtemps).L’avantage de Pari/GP (dont on n’utilise pas les possibilités bien sûr, puisque c’est un logiciel de théorie des nombres) est qu’il est très rapide au démarage,
contrairement à d’autres, ce qui est important dans wims …
et que les développeurs s’intéressent à la marge à wims, en particulier des
questions de rétrocompatibilité …Bernadette
-
1 février 2017 à 22:44 #3654
bernadette
Maître des clés::En restant dans wims, on pourrait aussi faire
\text{datas=wims(sort numeric items 4,6,3,5)} \text{max=\datas[-1]}
On peut aussi utiliser cela pour des mots !
\text{data=wims(sort items toto,tata,titi,tutu)} \text{s=\data[-1]}
-
Cette réponse a été modifiée le il y a 6 années et 1 mois par
bernadette.
-
Cette réponse a été modifiée le il y a 6 années et 1 mois par
-
3 février 2017 à 08:38 #3668
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.