les cases de mémoire sur le langage C++
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

les cases de mémoire sur le langage C++



  1. #1
    invite21b4790f

    Unhappy les cases de mémoire sur le langage C++


    ------

    Bonsoir tout le monde,

    J'ai du mal à comprendre les cases de mémoire dans le langage C++

    Voici un algorithme:

    Code:
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int toto = 4;
        cout << toto << endl;
        toto = 5 + 5;
        cout << toto << endl;
        int tata = toto + 4;
        cout << tata << endl;   
        tata = tata + 5;
        cout << toto << endl;  
        tata = tata + (toto*2);
        cout << tata << endl; // ici je n'ai pas compris pourquoi ca vaut 39 pour moi c'est 14+ (10*2) 
    
    
        return 0;
    }
    Code:
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int a = 1;
        int b = 2;
        a = b;
        b = a;
        cout << a << endl;
        cout << b << endl;  // ici aussi je n'ai pas compris pour moi ca devrait afficher un 1
    
        return 0;
    }
    Pouvez-vous m'éclairer pour les cases de mémoire ?

    Merci d'avance
    Bonne soirée

    -----

  2. #2
    invite805ff73c

    Re : les cases de mémoire sur le langage C++

    Tes "cases de mémoire" on appelle ça des variables. Ce n'est pas propre au C++, même pas au C, on en trouve dans tout les languages de programmation. C'est comme en math, on peut se l'imaginer comme une boîte dans laquelle on place une valeur. Et comme en math on peut faire des calculs avec. Où est le problème? J'ai enlève tout ce qui peut l'être et mis les résultats intermédaires pour ton calcul, où est le problème? (Désolé, je ne vois vraiment pas. C'est comme en math!)

    Code:
    toto = 5 + 5; //10
    int tata = toto + 4; //14
    tata = tata + 5; //19
    tata = tata + (toto*2); //19+2*10
    // ici aussi je n'ai pas compris pour moi ca devrait afficher un 1
    Ben non. Là
    Code:
        a = b;
    a prends la valeur de b (donc 2) et ici
    Code:
       b = a;
    b prends la valeur actuelle de a, donc 2.

  3. #3
    invite21b4790f

    Re : les cases de mémoire sur le langage C++

    ah oui j'ai compris En fait je ne savais pas qu'il devait prendre la valeur actuelle, je croyais que c'était l'ancienne valeur ! Dans une autre question on me demande que manque t-il aux programmes précédent pour réaliser un échange entre les valeurs des variables a et b ? c'est quoi un échange des valeurs de deux variables ?

  4. #4
    invite805ff73c

    Re : les cases de mémoire sur le langage C++

    Un échange de valeurs entre deux variables c'est comme si tu interchangeais ce qu'il y a des les deux "boîtes" variable1 et 2. Si tu essaye
    Code:
    var1=var2;
    var2=var1;
    ça ne marche pas, tu te retrouves avec la valeur de var2 partout. Il manque un/une ... (je te laisse refléchir).

  5. A voir en vidéo sur Futura
  6. #5
    invite21b4790f

    Re : les cases de mémoire sur le langage C++

    j'ai trouvé alors il faut prendre une variable temporaire: c=b //2 ensuite b=a// 1 et a=c //2 voilà cela affiche 12 au lieu de 11 grace à la variable c

  7. #6
    invite805ff73c

    Re : les cases de mémoire sur le langage C++

    Exact pour la variable temporaire.

Discussions similaires

  1. cases quantiques
    Par invite1182f7e5 dans le forum Chimie
    Réponses: 3
    Dernier message: 04/03/2010, 09h34
  2. Dessiner des cases quantiques
    Par invite51ed1a02 dans le forum Chimie
    Réponses: 3
    Dernier message: 17/09/2009, 21h23
  3. Cases quantiques
    Par invite472b3a7e dans le forum Chimie
    Réponses: 13
    Dernier message: 16/08/2009, 19h32
  4. cases quantiques
    Par invite917dbaff dans le forum Chimie
    Réponses: 10
    Dernier message: 03/01/2009, 18h13
  5. Des cases et des objets
    Par invitecb6f7658 dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 12/05/2008, 18h55