bon j'ai pas tous lu mais si tu utilise redim sur un tableau dont tu ve conservé le contenu rajoute preserve :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ReDim preserve Tableau(i + 1)![]()
bon j'ai pas tous lu mais si tu utilise redim sur un tableau dont tu ve conservé le contenu rajoute preserve :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ReDim preserve Tableau(i + 1)![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 option base 0 Function lapin() 'on dimensionne une matrice de 1000 positions possibles Dim matrice(1000) As Boolean Dim boucle As Integer Dim boucle2 As Integer Dim trouve As Boolean Dim nb As Integer For boucle = 1 To 999 'teste si la position existe trouve = False nb = boucle For boucle2 = 1 To 999 If matrice(nb) Then trouve = True Exit For Else nb = nb * 2 If nb > 1000 Then nb = nb - 1000 End If Next boucle2 If Not trouve Then 'cette famille n'existe pas créons la MsgBox ("création d'une nouvelle famille de base" & boucle) nb = boucle For boucle2 = 1 To 999 If matrice(nb) Then MsgBox ("cycle de " & boucle2 & " en " & nb) Exit For Else matrice(nb) = True nb = nb * 2 If nb > 1000 Then nb = nb - 1000 End If Next boucle2 End If Next boucle End Function
Pour les tableaux : http://www.developpez.net/forums/vie...88677&start=12
"Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément." Nicolas Boileau
"Expliquer empêche de comprendre si cela dispense de chercher"
Quiz Oracle : venez tester vos connaissances !
La FAQ Oracle : 138 réponses à vos questions
Aidez-nous à la compléter
On est plusieurs à pouvoir te dire que ce sera une exponentielle...Le but est ensuite de voir la tronche du graphe quand on part de 40, 41, 42 souris (nb_init)...![]()
Comme j'avais un moment...
Tu places ça dans un module par l'éditeur VB d'Excel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Sub JcompteMesSouris() Dim nbreMois As Integer, i As Integer, NbSouris As Double Range("A1").Select Selection.CurrentRegion.Delete 'NbSouris = InputBox("Nombre de souris au départ") NbSouris = 40 'nbreMois = InputBox("Indiquer la durée des copulations en mois") nbreMois = 12 For i = 1 To nbreMois Cells(i, 1).Value = i Cells(i, 2).Value = NbSouris If NbSouris > 1000 Then Exit For NbSouris = NbSouris * 2 Next MaDate = "1/" + CStr(i - 1) + "/" + CStr(Year(Now)) MsgBox "Mois au cours duquel tu as 1000 souris si tu as démarré le 1er janvier " & Format(CDate(MaDate), "mmmm") Range("A1").Select MaPlage = Selection.CurrentRegion.Address Charts.Add ActiveChart.ChartType = xlLine ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range(MaPlage), PlotBy _ :=xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1" Range("A1").Select End Sub
Tu veilles bien à avoir une feuille nommée "Feuil1" VIDE
... et tu les comptes, tes souris![]()
Les inputbox sont là pour que tu puisses jouer un peu...
A+
Edit
pour connaître le jour, il te reste à faire une règle de trois
désolé mais la courbe n'est pas exponentielle
c'est une fonction périodique localement exponentielle
le programme que j'ai livré plus haut liste les 5 familles de courbe
il suffit de retrouver à quelle famille appartient le nombre de départ
Ok ! Je ne répondais qu'à ça "Le but est ensuite de voir la tronche du graphe" et bien qu'une droite relie les x successifs, la "tronche" générale... Et c'est tes rats
A+
ben démarre avex 500 lapins et tu vas voir la tronche des rats
Je ne veux pas entrer dans ce débat d'rats !ben démarre avex 500 lapins et tu vas voir la tronche des rats![]()
J'ai modifié le code de ouskel'n'or, et du coup j'ai pu faire ce que je voulais, et j'obtient de très jolis graphes! Avec des périodicités et tout, c'est super
Merci beaucoup!!!
Edit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Sub Chaos1() Dim iteration As Integer, i As Integer, nombre As Double Range("A1").Select Selection.CurrentRegion.Delete nombre = InputBox("Nombre de départ") iteration = InputBox("Nombre de doublements à effecter") For i = 1 To iteration Cells(i, 1).Value = nombre nombre = nombre * 2 If nombre > 1 Then nombre = nombre - 1 Next i MaPlage = Selection.CurrentRegion.Address Charts.Add ActiveChart.ChartType = xlLine ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range(MaPlage), PlotBy _ :=xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1" Range("A1").Select End Sub
T'as encore oublié les balisesbref, j'ai encore été obligé de les mettre
T'as vu les boutons "[code... et /code] c'est fait pour
Ousk
Je suis vraiment désolée, je ne savais pasT'as encore oublié les balisesbref, j'ai encore été obligé de les mettre
T'as vu les boutons "[code... et /code] c'est fait pour
Ousk![]()
Maintenant je ne les oublierai plus!
Alors ? Ton affaire est résolue ? Si oui, t'as encore oublié de faire un clic en bas et à gauche de l'écran sur le bouton "Résolu"
Faut tout y dire !![]()
![]()
![]()
![]()
Effectivement... Mais ça suffira pour les bases a priori, car le but est de voir que si on part de nombres très proches on obtient des nombres de plus en plus éloignés...?
mais pas du tout
il s'agit de cycle si on part de nombres très proches on va inéluctablement
tomber dans une des familles et entamer un cycle décalé
si on exclut le nombre de départ de la série on atteint moins de 200 valeurs pour 1000 possibles et je le souligne seulement 5 cycles
en fait pour un nombre le graphique intéressant ne comporte que peu de points c'est le nombre de valeurs intermédiaires entre lui et l'entrée dans
une des familles existantes
si tu reprends mon programme plus haut tu peux le scinder en deux parties
constitution des familles
génération des points de tous les nombres entre leur valeur et leur valeur d'entrées dans la famille
par exemple 125 famille des 125 qui a pour série 125 250 500 0
a pour graphe propre 125 250
alors que 250 a pour valeur propre 250
cela n'a rien à voir avec un effet papillon ou une percolation
tu te trompes (ou on te trompe) sur la nature du problème
par contre pour une biologiste c'est assez proche du jeu de vie
qui n'est pas un vrai chaos
d'ailleurs un chaos vrai nécessiterait autant d'information que de sorties
ici il n'est nullement utile de connaitre les sorties du second cycle
c'est comme ci je disais que 1/3 est chaotique sous prétexte qu'il me faudrait une infinité de 3 pour l'écrire alors qu'il suffit d'écrire 1/3
d'ailleurs à ce sujet la suite étant cyclique je peux dans tous les cas de figure l'écrire sous une forme fractionnaire
Ouh la la il va falloir que je me penche bien sur le problème pour intégrer tout ça...
Mais du coup ça sort du domaine du visual basic!
Alors je vais envoyer un message privé à random pour lui filer mon mail, sait-on jamais, s'il veut bien me donner le sien et continuer à m'aider sur ce sujet!
Merci encore à tous
Partager