CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[debutant C °] variable

_leroidubide_
_leroidubide_
Niveau 9
16 juin 2011 à 14:59:33

Bonjour

j'imagine que la réponse à mon problème est tout bête, mais j'ai essayé différente solution, notamment en jonglant avec des constantes ou en mettant des "<=" mais rien à faire je me doit de faire appel à vous :hap:

:d) Imaginons que j'ai deux variable, une appelé A et l'autre appelé B
je souhaite faire en sorte que si ma variable B vaut 10 que la valeur de A puisse varier entre 0 et 10
puis si la valeur de B passe à 11 que la valeur de A puisse varier entre 0 et 11.

chris_27
chris_27
Niveau 10
16 juin 2011 à 15:51:14

Tu veux dire que tu cherches à faire :

for (B=10; B<21; B++)
for (A=0; A<=B; A++)
… quelque chose avec A …

?

tbop2
tbop2
Niveau 10
16 juin 2011 à 15:51:34

Etrange, je ne suis pas sur que tu ais bien compris le systeme mais je tente.

Une variable int ca "ne bouge pas tout seul", A a une valeur que tu lui donnes et c'est a toi de la changer, donc a chaque fois que tu veux changer a tu pourrais appeler une fonction du genre :

void setA(int newA)
{
...if(newA >= 0 && newA <= B)
......A = newA;
...else
......//printf
...
}

Aldebran
Aldebran
Niveau 10
16 juin 2011 à 18:08:34

"je souhaite faire en sorte que si ma variable B vaut 10 que la valeur de A puisse varier entre 0 et 10
puis si la valeur de B passe à 11 que la valeur de A puisse varier entre 0 et 11."

Peut-être simplement ça :

int A;
int B = 10, 11 ou 12, etc. ;
for(A = 0; A <= B; ++A)
opérations sur A

[starlight]
[starlight]
Niveau 10
17 juin 2011 à 15:36:55

Ca serait bien d'expliciter le problème parce que c'est vraiment très incompréhensible ...

Mais bon d'après ce que j'ai compris, si B vaut N et que tu veux que A prennent les valeurs de 0 à N, il faut que tu face comme l'a dis Aldebran :

define N 10

int b = N ;
int a ;

for(a=0 ; a<= b ; i++) {
// ici, a prendra les valeurs 0, 1 2, 3, 4 ..., 10
}

Quand tu changeras la valeur de N, tu changeras la valeur de B et l'iteration de ta boucle donc.

chris_27
chris_27
Niveau 10
17 juin 2011 à 16:45:56

Il manque un # devant ton define pour faire du code C valide. :-)))

_leroidubide_
_leroidubide_
Niveau 9
17 juin 2011 à 19:51:30

bon... :noel:
désoler d'avoir donner une explication, apparemment peut claire, mais bon pour moi je voit pas comment je peut être plus précis :(

mais peut importe je viens de trouver et c'était tout bête, j'ai juste eu à ajouter un if au moment de l'incrémentation et j'arrive maintenant à faire ce que j'essayais de faire

Incrémentation
if (a<b)
{
a= a + 0;
}
else
{
a++;
}

Décrémentation
if (a=0)
{
a= a + 0;
}
else
{
a--;
}

voila :o)) je sais pas si c'était la solution la plus pratique mais en tout cas ca marche
j'avais totalement délaisser les if au profit des switch mais apparemment ces derniers ne suffisent pas à tout faire.

bon ben je retourne coder et merci quand même :hap:

String[]args
String[]args
Niveau 23
17 juin 2011 à 20:34:05

Tu peux aussi simplement écrire if(a>=b) a++; pour l'incrémentation et if(a!=b) a--; pour la décrémentation. Ça évite de prendre 10 lignes pour faire quasiment rien. :hap:
Et ça corrige par là même ta condition if(a=0) qui ne fait sans doute pas ce que tu voudrais. :hap:

String[]args
String[]args
Niveau 23
17 juin 2011 à 20:35:39

if(a!=0) a--; *

_leroidubide_
_leroidubide_
Niveau 9
17 juin 2011 à 20:58:24

hmmm oui j'avais pas teste la décrémentation et effectivement ca ne marchais pas
mais j'ai changer pour mettre à la place :d)

if (a>0)
{
a--;
}
else
{
a= a+0;
}

et la c'est bon, j'incrémente et décrémente avec "a" qui reste toujours entre 0 et la valeur de b même si j'incrémente b :cool:
donc temps pis si ca prends plus de place que ca devrais, ca marche et j'y touche plus :hap:

String[]args
String[]args
Niveau 23
17 juin 2011 à 21:32:16

Tu peux pas savoir à quel point c'est horripilant de voir une condition comme ça. :noel:
M'enfin si ça marche... :hap:

Aldebran
Aldebran
Niveau 10
18 juin 2011 à 00:39:55

a= a+0; ?

En fait ça fait rien ça, pourquoi mettre un else dans ce cas là ?

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment