Accueil > Forum > > > > ALGO pour les bons
ALGO pour les bons
vendredi 19 juillet 2002 à 10:36:58 |
ALGO pour les bons

bguihal
|
voila mon probleme. j'ai un tableau (environ 400 elements ayant toutes un prix), j'ai un montant. je voudrais trouver la somme des prix qui se rapproche le plus du montant exemple : j'ai 400f piece1:100 piece2:50 piece3:20 piece4:200 piece5:320 donc la il faudrai que je prenne les pieces 2,3,5 ce qui va tombe a 390 il faut sans doute que je classe mes pieces. j'ai trouver un algo mais il me fait si j'ai 400 pieces 400! posibilitées ce qui fait un peu beaucoup. voila ,merci de votre aide.
|
|
vendredi 19 juillet 2002 à 12:35:13 |
Re : ALGO pour les bons

BasicInstinct
|
algo grossier :
trier le tableau selon les prix
prendre le max <400 (le 320)
puis prendre le max <80 (400-320) cad 50
.....
reste 10
------------------------------- Réponse au message : -------------------------------
voila mon probleme. j'ai un tableau (environ 400 elements ayant toutes un prix), j'ai un montant. je voudrais trouver la somme des prix qui se rapproche le plus du montant exemple : j'ai 400f piece1:100 piece2:50 piece3:20 piece4:200 piece5:320
donc la il faudrai que je prenne les pieces 2,3,5 ce qui va tombe a 390 il faut sans doute que je classe mes pieces. j'ai trouver un algo mais il me fait si j'ai 400 pieces 400! posibilitées ce qui fait un peu beaucoup. voila ,merci de votre aide.
|
|
vendredi 19 juillet 2002 à 19:09:13 |
Re : ALGO pour les bons

Charlie
|
Trie ton tableau avec un agorithme de trie et non pas avec une boucle for de niveau 1...
Par la suite, si tu comprends les algo de trie, tu vas être capable de l'adapter pour trouve la valeur la plus pres !
------------------------------- Réponse au message : -------------------------------
algo grossier :
trier le tableau selon les prix
prendre le max <400 (le 320)
puis prendre le max <80 (400-320) cad 50
.....
reste 10
------------------------------- Réponse au message : -------------------------------
voila mon probleme. j'ai un tableau (environ 400 elements ayant toutes un prix), j'ai un montant. je voudrais trouver la somme des prix qui se rapproche le plus du montant exemple : j'ai 400f piece1:100 piece2:50 piece3:20 piece4:200 piece5:320
donc la il faudrai que je prenne les pieces 2,3,5 ce qui va tombe a 390 il faut sans doute que je classe mes pieces. j'ai trouver un algo mais il me fait si j'ai 400 pieces 400! posibilitées ce qui fait un peu beaucoup. voila ,merci de votre aide.
|
|
samedi 20 juillet 2002 à 23:39:11 |
Re : ALGO pour les bons

OphidiaN
|
lol charlie, j'attends un exemple pour voir, pcq là, que de la gueule de non-connaisseur :)
|
|
dimanche 21 juillet 2002 à 17:05:15 |
Re : ALGO pour les bons

Charlie
|
Allo...
Laisse moi 1 jour ou 2... J'ai vu ca dans mes cours de C++.
Y'a moyen de trier des tableaux d'une manière plus performante qu'une boucle for! Je vais l'essayé mais le principe de base est de séparer le tableau en petit bloc et le trier ainsi. Ca permet d'avoir un nombre de possibilité inférieur au nombre total d'élément. Mais le hic avec le VB, c'est que ca utilise la récursivité. Et en VB, c'est pas bien bien sont fort! Alors, je vais vérifier ca en fin de semaine!!!
------------------------------- Réponse au message : -------------------------------
lol charlie, j'attends un exemple pour voir, pcq là, que de la gueule de non-connaisseur :)
|
|
lundi 22 juillet 2002 à 22:50:11 |
Re : ALGO pour les bons

OphidiaN
|
lol te casse pas la tête pour rien, c pas grave :)
|
|
mardi 23 juillet 2002 à 14:19:54 |
Re : ALGO pour les bons

Charlie
|
non non non... C'est pas compliqué a faire... Mais je viens de me rendre compte que comme mon code viens du C, il n'est pas compatible VB. VB n'est pas assez puissant en récursivité pour y parvenir... Mon algo fonctionne mais seulement avec les petits tableaux... un de 100 éléments par exemple... ca plante royalement!!! Reste qu'en C... c'est puissant!!! Par évident sur le coup mais super cool quand tu comprends le principe.
Voici mon algo!!!
1 form... 1 list et 2 boutons
Private Tableau(4) As Integer
Private Sub Command1_Click()
Dim i As Integer
Tableau(0) = 11 Tableau(1) = 7 Tableau(2) = 5 Tableau(3) = 2 Tableau(4) = 9
For i = 0 To 4 List1.AddItem Tableau(i), i Next
End Sub
Private Sub Command2_Click() QuickSort 0, 4
For i = 0 To 4 List1.RemoveItem (i) List1.AddItem Tableau(i), i Next
End Sub
Public Function QuickSort(inf As Integer, sup As Integer)
Dim milieu As Integer
If (sup > inf) Then ' s'il y a au moins 2 éléments milieu = Partition(inf, sup)
'Trie la partie de gauche QuickSort inf, milieu
'Trie la partie de droite QuickSort milieu + 1, sup End If
End Function
Public Function Partition(inf As Integer, sup As Integer) As Integer
Dim Pivot, Tempo Dim i As Integer, j As Integer
Pivot = Tableau((sup + inf) / 2) i = inf - 1 j = sup + 1
' tant que les index ne croisent pas
While (i < j) 'Conserver les éléments les plus petits ou égaux au pivot à gauche Do i = i + 1 Loop While (Tableau(i) < Pivot)
Do j = j - 1 Loop While (Tableau(j) > Pivot)
'Permuter les éléments qui n esont pas à leur place
If (i < j) Then Tempo = Tableau(i) Tableau(i) = Tableau(j) Tableau(j) = Tempo End If Wend
Partition = j
End Function
Voici un 2e Algo de trie que qq a mis sur le forum...
' Algorithme de tri "shell" sur un tableau Total(Maximum) Dim i As Integer, j As Integer, k As Integer, l As Integer, Provi As même chose que Total k = 1 While k <= Maximum k = k * 2 Wend Do k = (k - 1) \ 2 If k = 0 Then Exit Do ' tri terminé For l = 1 To Maximum - k i = l Do j = i + k If Total(i) > Total(j) Then Exit Do Provi = Total(i): Total(i) = Total(j): Total(j) = Provi i = i - k Loop While i > 0 Next l Loop
------------------------------- Réponse au message : -------------------------------
lol te casse pas la tête pour rien, c pas grave :)
|
|
mardi 23 juillet 2002 à 20:30:53 |
Re : ALGO pour les bons

OphidiaN
|
ah ouais carrement..... bravo :) en fait c kler que VB ne suit plus... lol
++
|
|
mardi 23 juillet 2002 à 20:43:33 |
Re : ALGO pour les bons

Charlie
|
mon ami m'a dit que le plus simple... tu te fait une liste bidon...
Tu copie tout dans la liste, tu te sert de ses options de trie et par la suite... tu rapatries tes données... Dans certains cas, ca peut etre pratique car les listes ont plusieurs mode de trie et peut-être des filtres en plus...
Mais mon code de C, on voit ca dans mon cours de Génie Électrique a l'université!
------------------------------- Réponse au message : -------------------------------
ah ouais carrement..... bravo :) en fait c kler que VB ne suit plus... lol
++
|
|
Cette discussion est classée dans : algo, prix, montant, bons, pieces
Répondre à ce message
Sujets en rapport avec ce message
Message d'erreur dans Excel VBA [ par Maxou le petit ]
Bonjour;Petit Pb tout bête dans macro ci-dessous, aprés exécution il me renvoie un message d'erreur n°6 "Dépassement de capacité" sur la ligne "Prix =
Calcul trajet [ par Dede ]
Bonjour,Voila mon problème.Quel algo utiliser pour calculer un itinéraire de métro (par exemple). Le tout étant de ne pas réinventer la roue.Toutes le
Création de donjon [ par nihaoma ]
Bonjour tout le monde,Pour le developpement d'un jeu, je dois créer un algo pour générer des donjons aléatoires (couloirs, salles de tailles différent
somme des montants d'un filtre [ par Achi ]
salut à tous,voilà j'ai (pour simplifié) 2 colonnes sur ma feuille excel:DATE pour la colonne A et MONTANT pour la colonne B.j'ai placé un filtre auto
exporter formulaire vers word [ par liop49 ]
Bonjour, JE suis super méga novice donc nul en programmation Access et je cherche à faire quelque chose qui me semble simple mais je n'
Résultat de calcul érroné!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [ par Tiger1982 ]
S'il vous plait aidez moi, j'ai un gros pb!!!!!! J'ai fait un logiciel de gestion du stock mais le hic c que le VB me joue des tours!!!!!!!!!!!!Il y a
separateur decimal [ par ecranbleu27 ]
bjrje suis confronté a un pb du au separateur decimal;dans un form l'utilisateur saisit une qté puis un prix (que je lui demande de saisir avec un poi
aidez moi a trouvé l'algorithme [ par hamada143 ]
salut je suis un simple debutant en algorithme et j'ai besoin de votre aide svpon ma demander d'ecrire deux algorithme :1-un algo qui affiche si x est
Pseudo code ou UML [ par norman bates ]
Bonsoir tout le monde,Je bosse sur un programme mais gros couac tout ce qui est architecture n'est pas encore mon truc, donc la question que je me pos
Cours algo, VB, définition ^^ [ par blinix123 ]
Bonjour,Voila j'ai terminer mon jeu en VB et j'aimerais le présenter, le probleme est qu'en codant, je n'ai pas réfléchi à tous les éléments et il y e
Livres en rapport
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|