Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

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



  1. #1
    Olympe02

    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. Publicité
  3. #2
    grosmatou75001

    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.

  4. #3
    Olympe02

    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 ?

  5. #4
    grosmatou75001

    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).

  6. #5
    Olympe02

    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. A voir en vidéo sur Futura
  8. #6
    grosmatou75001

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

    Exact pour la variable temporaire.

  9. Publicité

Discussions similaires

  1. cases quantiques
    Par lesss dans le forum Chimie
    Réponses: 3
    Dernier message: 04/03/2010, 08h34
  2. Dessiner des cases quantiques
    Par arthur17 dans le forum Chimie
    Réponses: 3
    Dernier message: 17/09/2009, 20h23
  3. Cases quantiques
    Par philochimio dans le forum Chimie
    Réponses: 13
    Dernier message: 16/08/2009, 18h32
  4. cases quantiques
    Par Xixis dans le forum Chimie
    Réponses: 10
    Dernier message: 03/01/2009, 17h13
  5. Des cases et des objets
    Par Apprenti-lycéen dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 12/05/2008, 17h55