Rechercher : dans
Par :

Arithmetique en c et cpp

Dernière réponse le 5 avr 2009 à 01:33:07 debutant, le 4 avr 2009 à 11:24:55 
 Signaler ce message aux modérateurs

Bonjour,
je voudrais bien savoir comment ça marche les opertation arithmetique en langage c et cpp :
exp :
n= o
n<=5 n++
n = 6 j ai compris la premiere .

n=p=0 ;
n<=8 n+=p++ ;
n= 10 . pourquoi

n=p=0 ;
p<=5 n+=p++;
n=15 pourquoi ?

et j'ai une autre question :
exp : quel est le but de cette affichage en c ?
int n = 12 ;
int p =45 ;
float x= 12.34;

main( )
{
printf ( " A : %4d %10f\n ,n,X)
}
merci .

Configuration: Windows XP
Firefox 3.0.6

Meilleures réponses pour « arithmetique en c et cpp » dans :
Les structures en langage C++ Voir Différence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
Les templates en C++ VoirIntroduction Avantages Inconvénients Quand utiliser des templates ? Que dois-je mettre dans les .hpp et dans les .cpp ? Convention de notations Quelques templates célèbres STL BGL Premiers pas Spécifications de templates Template par...
Compiler un programme en C avec Dev C++ sous Vista VoirIl est très probable que vous ayez des problèmes lors de la compilation d'une source C sous Vista avec Dev C++. Solution rapide de secours: le compilateur g++ Voici une astuce pour Dev-Cpp : Aller dans "Outils" -> "Options du compilateur" puis...
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.
Langage C++ - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
Les constructeurs et les destructeurs en langage C++ VoirLa notion de constructeur Le constructeur est la fonction membre appelée automatiquement lors de la création d'un objet (en statique ou en dynamique). Cette fonction membre est la première fonction membre à être exécutée, il s'agit donc d'une...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...

1

fiddy, le 4 avr 2009 à 12:03:26

Salut,
n<=5 Qu'est-ce que tu attends de cette instruction ?

printf ( " A : %4d %10f\n ,n,X)
Permet d'afficher n sur 4 caractères et X sur 10 en complétant par des espaces si nécessaire.
Google is your friend

Répondre à fiddy

8

 bissoux, le 5 avr 2009 à 01:33:07

Bonjour , je voulais te remercie pour ton aide , je te souhaite une tres bonne soiree .
merci.

Répondre à bissoux

2

debutant, le 4 avr 2009 à 12:17:08

Bonjour ,
merci de ta reponse ,
mais il reste un truc j'attends pas quelque chose de cette instruction mais je veux connaitre la logique de calcul .
merci .

Répondre à debutant

3

fiddy, le 4 avr 2009 à 12:22:47

Oui, mais
n<=5 n++;
n'est pas une instruction correcte.

C'est pour ça que je te demande ce que t'appelles n<=5.
Si tu souhaites mettre 5 dans n, il faut faire n=5. Et effectivement n++ permet d'incrémenter n. Donc n devient égal à 6. Mais si tu utilises n<=5, alors que n vaut 0, cela comparera 0<=5 qui est vrai, donc l'instruction renverra 1. Et comme tu récupères pas le résultat, l'instruction est complètement inutile.

Donc qu'entends-tu par n<=5 ? (tu voulais dire n=5 ou pas ?).
Google is your friend

Répondre à fiddy

4

debutant, le 4 avr 2009 à 12:49:05

Bonjour ,
je prends un autre exemple ok ;

n=p=0;
while ( n<=5) n + = p++ ;
printf (B : n = %d\n , n);
j'ai B : n = 10 ? pourquoi comment on a eu ce resultat tu te m'esxpliquer la logique de calcul ;
j ai un autre exemple :
n=p=0;
while ( n <=8) n +=++p;
printf("c : n= %d\n" , n);
ici n = 15 comment
merci pour ton aide .

Répondre à debutant

5

fiddy, le 4 avr 2009 à 13:32:29

Ah, avec le while, ça change tout ^^.


n=p=0;
while ( n<=5) n += p++ ; //attention pas d'espace entre le + et =.
printf (B : n = %d\n , n);


Tant que n est inférieur ou égal à 5, on fait n=n+p; et p=p+1;
Ce qui donne successivement :
n=0+0=0 puis p=0+1=1
n=0+1=1 puis p=1+1=2
n=1+2=3 puis p=2+1=3
n=3+3=6 puis p=3+1=4
On arrête là car n est supérieur à 5.
Donc n vaut 6 et non 10.

De même pour l'autre exemple, n vaudra 10 et non 15.

C'est lors de la prochaine itération (ou n+p) qu'on aura 10 et 15.

Cdlt
Google is your friend

Répondre à fiddy

6

debutant, le 4 avr 2009 à 15:47:22

Salut ,
excuse moi je vais te deranger encore une fois est-ce-que tu peux m'explique comment de :
n=p=0;
while ( n<=5) n += p++ implique n=n+p; et p=p+1 ?
et est-ce que les choses vont changer si je mets à la plaça de p++ ,++p.
merci .

Répondre à debutant

7

fiddy, le 4 avr 2009 à 16:02:09

while ( n<=5) n += p++ implique n=n+p; et p=p+1 ?

n+=p++ signfie n=n+p++.
Et p++ signifie p=p+1 en renvoyant la valeur avant incrémentation (post-incrémentation).
Donc en gros, c'est comme si tu faisais : n=n+p; p=p+1.

et est-ce que les choses vont changer si je mets à la plaça de p++ ,++p.
Oui, là il s'agit de pré-incrémentation. Mais dans ton exemple, n aura la même valeur. Par contre p n'aura pas la même valeur.

Donc si on reprend chacune des étapes appliquées à :
n=p=0;
while ( n<=5) n += ++p ;
printf (B : n = %d\n , n);

Cela donne :
p=0+1=1 et n=0+1=1
p=1+1=2 et n=1+2=3
p=2+1=3 et n=3+3=6

Ici p vaut 3, alors que p vaut 4 en mettant p++.

Cdlt
Google is your friend

Répondre à fiddy