bonjour
je voudrais seulement votre aide pour savoir comment declaré un tablau qui ne contient que de l'infini
j'ai besoin d'un tableau dont tout ces elément sont que l'infini.
merci d'avance.
bonjour
je voudrais seulement votre aide pour savoir comment declaré un tablau qui ne contient que de l'infini
j'ai besoin d'un tableau dont tout ces elément sont que l'infini.
merci d'avance.
Salut,
L'infini est une notion mathématique, pas informatique.
Pourquoi avoir l'infini dans toutes les cases d'un tableau ? Pour tenter de représenter une partie finie de l'univers ?
Plus sérieusement, tout dépend aussi de ce que tu entends par infini, se peut-il que la valeur la plus grande que peut contenir ton type de donnée te suffise ?
A+
K
ah oui je voudrais que ca ce soit en C. J'ai seulement oublié de le préciser. Merci
Alors ce que je comprend c'est de faire un grand nombre dans une case dont je serais sur que ce nombre ne sera jamais utlisé par mon programme est suffisantEnvoyé par KiLVaiDeN
alors je doit seulement initialisé normalement un tableau avec un grand nombre tel que (3000 ou...........), c'est ca?
Oui c'est le principe auquel je pense.
Initialise une constante équivalente à ton "INFINI" avec la valeur la plus grande du type de données de ton tableau. Regarde l'include "limits.h" pour obtenir les valeurs maximales disponibles.
Peut-être quelqu'un a une meilleure solution.. A+
K
Selon le type :Envoyé par l_seringa
<limits.h>
CHAR_MAX
SCHAR_MAX
UCHAR_MAX
USHRT_MAX
SHRT_MAX
INT_MAX
UINT_MAX
LONG_MAX
ULONG_MAX
LONGLONG_MAX [C99]
ULONGLONG_MAX [C99]
<float.h>
FLT_MAX
DBL_MAX
mais c'est à toi de définir quelle est la valeur max utile dans ton application pour être sûr qu'il n'y ait pas de confusion.
Pas de Wi-Fi à la maison : CPL
C'est quoi tout ca, je n'ai pas bien saisie. Je fais quoi avec ca ?Selon le type :
<limits.h>
CHAR_MAX
SCHAR_MAX
UCHAR_MAX
USHRT_MAX
SHRT_MAX
INT_MAX
UINT_MAX
LONG_MAX
ULONG_MAX
LONGLONG_MAX [C99]
ULONGLONG_MAX [C99]
<float.h>
FLT_MAX
DBL_MAX
mais c'est à toi de définir quelle est la valeur max utile dans ton application pour être sûr qu'il n'y ait pas de confusion.
Ce sont les valeurs max de chaque type.Envoyé par l_seringa
Par exemple, si ta variable est de type unsigned int, la valeur max est UINT_MAX. C'est "l'infini" pour ce type. La plage de valeurs valide est 0 à UINT_MAX - 1, ce qui fait au minimum 0 à 65534.
Pas de Wi-Fi à la maison : CPL
Par exemple, si ta variable est de type unsigned int, la valeur max est UINT_MAX. C'est "l'infini" pour ce type. La plage de valeurs valide est 0 à UINT_MAX - 1, ce qui fait au minimum 0 à 65534.[/quote]
alors si je veut initialisé un tableau a l'infini
je dit ecrire
exemple
tab[i]=unit_max
ca ca ce k je doit comprendre
C'est mal écrit, mais c'est ça...Envoyé par l_seringa
Mais c'est un infini 'relatif', OK ? Si tes valeurs variaient de 0 à 9, 10 pourrait être considéré comme 'infini'. Ce que tu veux, c'est une valeur différente des autres, c'est tout... (et ce n'est pas toujours possible).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include <limits.h> <...> tab[i] = UINT_MAX;
Pas de Wi-Fi à la maison : CPL
et ça depend aussi si le nombre que tu stockera est un entier ou un nombre touuours >0... dans ce cas il t'aurai suffit d'initialiser ton tableau avec des -1.
- FAQ Jeux - FAQ SDL - FAQ DirectX - FAQ OpenGL - FAQ 3D
- Tutoriels Jeux - Outils
- Mes tutos : http://loka.developpez.com - tuto sdl
Je pense que ta question a été mal comprise (car mal formulée), ce que tu veux l_seringa c'est un tableau de dimension inconnue à la compilation et qui s'agrandit au fur et a mesure de tes besoins, non?Alors ce que je comprend c'est de faire un grand nombre dans une case dont je serais sur que ce nombre ne sera jamais utlisé par mon programme est suffisant
Si c'est le cas, il faut utiliser les pointeurs... !
Non, visiblement c'est toi qui a mal compris
j'ai besoin d'un tableau dont tout ces elément sont que l'infini.En gros, il s'agit d'une valeur spéciale qui te serve d'indicateur. En algorithmique, on trouve souvent l'infini. Mais en pratique celà n'est pas possible alors deux solutions : utiliser le maximum du type que tu utilises, ou utiliser une valeur spéciale. Pour ce qui est de la valeur spéciale, loka l'a bien dis : si tu as dans ton tableau des valeurs strictement positives, une valeur négative peut d'indiquer cette valeur spéciale. Cependant, comme tu l'aura compris, cela t'oblige à utiliser un type signé et donc diminuer la plage de valeur représentable pour ton utilisation.je serais sur que ce nombre ne sera jamais utlisé par mon programme est suffisant
D'autres méthodes existent par exemple une structure qui contiendrait deux champs, un pour indiquer si tu as un nombre "utilisable" ou une valeur spéciale. et le deuxième champ serait la valeur en question : par exemple :
Ainsi, tu peux choisir l'infini en mettant le champ infini à true. Sinon, infini vaut false et val est la valeur que tu veux utiliser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 struct Nombre { bool infini; long val; };
Il existe encore d'autres solutions (utilisation d'union par exemple) mais je pense que celà devrait te suffire.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager