Indices et tableaux c++ builder starter 10.1 - C++ - Programmation
Marsh Posté le 04-12-2018 à 15:47:32
"renommer" les variables c'est pas vraiment un concept de programmation, du coup j'ai un peu de mal à voir ce que tu veux faire.
En fait, tu veux juste trier le tableau (dans un autre tableau) non ?
PS: balise [code]
Marsh Posté le 04-12-2018 à 21:10:32
Merci pour ta réponse
Je me suis mal exprimé : si ind = 0 alors numero = 2, si ind = 1 alors numero = 4 etc ...
Je pense avoir trouvé le bon code
Code :
|
Marsh Posté le 05-12-2018 à 11:34:26
Ça me parait être un gros bloc pour pas grand chose, qui me fait très mal à la tête.
Si ton but est d'avoir un truc bidouillé qui marche, OK.
Si ton but est de comprendre comment résoudre le problème / d'avoir un truc réutilisable... va falloir expliquer le problème
Marsh Posté le 07-12-2018 à 09:22:46
Tu as raison
En fait, j'ai oublié de retirer la routine de tri, une fois les numéros triés, on a perdu le lien avec les indices.
Mes résultats sont sont de même faux.
int numero[5]; En supposant que numero ait ces valeurs = 10, 40, 2, 60 ,4
int ind[5]; // indice
Le résultat dans un ListBox donnera :
for (int i = 0; i < 5; i++)
{ ind[i] = i;
ListBox1->Items->Add(IntToStr(numero[i]) + " " +IntToStr(ind)); }
10 0
40 1
2 2
60 3
4 4
J'aimerais le résultat suivant
for (int i = 0; i < 5; i++)
ListBox1->Items->Add(IntToStr(numero[i]) + " " +IntToStr(ind));
2 0
4 1
10 2
40 3
60 4
Code :
|
Marsh Posté le 01-12-2018 à 13:41:46
Bonjour,
Je n'arrive pas à trouver la logique suivante dans une boucle
Je saisis par exemple des numéros dans un tableau 10, 40, 2, 60, 4
Code :
int numero[5];
int numsup[5]
int ind[5];
for (int i = 0; i < 5; i++)
{
ind[i]=i;
numsup[i] = numero[i];
ListBox1->Items->Add(IntToStr(ind[i]) +" "+ IntToStr(numero[i]));
}
Résultat :
0 10
1 40
2 2
3 60
4 4
J'aimerais renommer chaque ind pour qu'il corresponde à numero en ordre croissant :
Exemple :
if (numero[i] == numsup[i] ) ind[i] =*?; // soit si numéro = 2 ind = 0
if (numero[i] == numsup[i]) ind[i] =*?; // ''* 4 ind = 1
if (numero[i] == numsup[i] ) ind[i] =*?; // '' 10 ind = 2
if (numero[i] == numsup[i] ) ind[i] =*?; // '' 40 ind = 3
if (numero[i] == numsup[i]) ind[i] =*?; // '' 60 ind = 4
Merci d'avance pour votre aide.
Cordialement