begin process at 2012 02 17 07:29:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

ALGO pour les bons


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Membre Club
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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales