begin process at 2012 02 13 07:41:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

programme de debutant


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

programme de debutant

lundi 7 février 2005 à 22:29:23 | programme de debutant

MoveX

je suis un ultra debutant et pour decouvrir un peu le c++, j ai pondu un petit truc, seulement je comprends pas pourquoi les valeurs s arretent a 65536. meme en passant long int au lieu de int a la declaration des variables.

[code]
#include <stdio.h>

main()
{

      long int i,n;

      n=2;

      for (i=1; i<10; i++)
      {
           printf("%d\n", n);
           n=n*n;
      }

      system("pause");

      return 0;
}
[/code]

merci

lundi 7 février 2005 à 23:06:03 | Re : programme de debutant

Hylvenir

Salut,
je ne sais pas trop quel bouquin tu as pour découvrir le C++, mais si les premières page ressemble à ce code... brûle le.
C'est du C de la mode des années 70's.

[code]
// Petite boucle
#include <iostream>
int main() {
    long n = 2;
    for( int i = 0; i < 10; ++i, n *= n )
       std::cout << i << std::endl;
}
[/code]

Pour la limite de 65536,   disons que pour les entiers, faut pas en demander trop ;)
tu peux changer le 'long' en 'double' si tu veux voir des plus grand nombres.
Mais 'n *=2 ' semble plus raisonnable pour juste voir les puissances de 2.


// Ma participation à la saturation du net:
// http://hylvenir.free.fr
lundi 7 février 2005 à 23:06:41 | Re : programme de debutant

Hylvenir

arggh...

il faut lire :

std::cout << n << std::endl;

of course ;)


Ma participation à la saturation du net:
http://hylvenir.free.fr
mardi 8 février 2005 à 07:42:50 | Re : programme de debutant

MoveX

je n ai pas de bouquin, je fais juste quelques decouvertes pour l instant...
j ai chopper ca sur un site...
mais un long int, cest bien plus qu un simple entier??? normalement ca devrait depasser les 65536? non?
bon je vais faire ca avec double.

merci

mardi 8 février 2005 à 07:45:38 | Re : programme de debutant

MoveX

cest marrant mais ca ne fonctionne pas ton code avec dev c++
mardi 8 février 2005 à 08:09:28 | Re : programme de debutant

Hylvenir

c'est bizarre, c'est un copier/coller d'un code pour dev-cpp.
C'est quoi l'erreur ?

Ma participation à la saturation du net:
http://hylvenir.free.fr
mardi 8 février 2005 à 09:07:21 | Re : programme de debutant

ymca2003

un long int (32 bits) devrait aller jusqu'a 2^31-1 soit 2 147 483 647 en arithmétique signée.
ton problème vient du fait que tu calcul ((2^2)^2)... 10 fois ce qui fait au final
1.797.10^308 donc il  a un très gros dépassement de capacité et donc ton calcul est faux.
boucle 1 : n= 2 n*n = 4
boucle 2 : n = 4 n*n = 16
boucle 3 : n = 16 n*n = 256
boucle 4 : n = 256 n*n =65536
boucle 5 : n = 65536 n*n = 4294967296
= > ne tient pas sur 32 bits car ça fait en hexa (8 chiffres heax maxi):
1 0000 0000 tronqué à 0000 0000 ce qui donne donc n = 0
les boucles suivante, n étant égal à 0, tu auras toujours 0.

En conclusion, losque l'on programme il faut toujours savoir quelles seront les valeurs min et max des valeurs que l'on manipule pour éviter des dépassements de capacité sinon le risque est énorme (comme la destruction d'une fusée ariane par exemple...)
mardi 8 février 2005 à 18:28:17 | Re : programme de debutant

MoveX

ok ok, bon cest note pour le depassement, mais pour l exemple de hylvenir ca marche pas, meme en changeant i par n. dev c++ me dit qu il y a une erreur, en fait, qu il y en a 31!
mardi 8 février 2005 à 18:31:47 | Re : programme de debutant

ymca2003

Le code qu'il t'a donné c'est du c++ donc si ton fichier est un .c ça va pas marcher, il faut un .cpp
mardi 8 février 2005 à 18:38:16 | Re : programme de debutant

MoveX

merci de me tenir par la main, cest bien de la que venait le probleme !

1 2

Cette discussion est classée dans : programme, long, code, int, debutant


Répondre à ce message

Sujets en rapport avec ce message

Aide pour mega debutant [ par C++ ] Salut, bon alors je vien d ouvrir c++ mais comment mettre un code sur un boutton ???par exemple ce code comment je doits le mettre sur un bouton :int Deboguer un code [ par ptit programeur ] bonjours je voudrais savoir pourquoi ce code est faux#include #include using namespace std; int main(int argc, char *argv[]){  long triple (long sémaphore pour deux applications [ par boy09 ] Bonjour tout le monde, J'ai deux programmes, programme A écrit dans le fichier programme B lit à partir du fichier Je désire synchroniser entre ses de Besoin d'aides pour un petit code en c++ [ par wannabesuper ] Bonjour à tous, alors voilà j'essaye avec mes faibles connaissances en c++ de réaliser un petit programme sur le jeux des cochons dont vous pouvez tr Question triviale: Qui suis-je ? [ par ArthurAuguste ] Bonjour, Trivial certainement pour un non débutant ! J'écris un petit programme en C++ qui utilise l'API 32 sous Windows XP, il commence donc par: int gestion des erreurs venant de différentes couches [ par razuki ] Bonjour, je dois rajouter une couche SSL sous une application existante : TCP-> SSL -> MYapi -> application J'ai une classe errorcode qui est définie Programme en c++ [ par noussa44 ] Bonjour à tous, Je suis débutant en c++ et j'ai un problème dans un exercice qui demande de lire à partir d'un fichier texte des réels et les stockés erreur code [ par ucf662 ] [code=cpp]class point{ int x,y; public: void initialiser( int x1 , int y1 ) ; void deplacer( i les fichier en C [ par abdobergach ] bonjour j'ai un erreur qui je connais pas pouquoi qlq'un m'aider svp,voila l'eerreur: error C2664: 'CreateFileW'*: impossible de convertir le paramètr Utilisation de MEX [ par nomadstorm ] Bonjour, J'ai un programme en C qui fonctionne et je voudrais le faire fonctionner sous MatLab afin de pouvoir traiter immédiatement et rapidement


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales