1 #include <iostream>
   2 #include <cstdlib>
   3 using namespace std;
   4 
   5 #define TAILLE 200
   6 
   7 /* Fonction raz: Remet le tableau a zero
   8    Parametres: A      = tableau, 
   9                taille = taille du tableau
  10 */
  11 void raz(int A[], int taille) {
  12    for(int i=0;i<taille;i++) {
  13       A[i]=0;
  14    }
  15 }
  16 
  17 /* Fonction imp: imprime le tableau complet
  18    Parametres: A      = tableau
  19                taille = taille du tableau
  20                
  21 */
  22 void imp(int A[], int taille) {
  23     for (int i=0;i<taille;i++) {
  24         cout << A[i];
  25     };
  26     cout << "\n";
  27 }
  28 
  29 /* Fonction cella: renvoie une CELLule du tableau choisie Aleatoirement, sous forme de lvalue
  30    Parametres: A      = tableau
  31                taille = taille du tableau
  32    renvoie:    la case du tableau
  33 */
  34 
  35 int& cella(int A[], int taille) {
  36    int z;
  37    z=rand() % taille;
  38    return A[z];
  39 }
  40 
  41 int main() {
  42 
  43         // Tableau declare de maniere statique
  44         int A[TAILLE];
  45     
  46         // Remet le tableau a zero
  47         raz(A,TAILLE);
  48 
  49         // Initialise le generateur aleatoire
  50         // Le resultat sera le meme si on lance le programme plusieurs fois par seconde
  51         srand(time(NULL));
  52 
  53         // Initialise le tableau de maniere aleatoire
  54         // On choisit une case au hasard et on met 1 dedans
  55         // On le fait tourner TAILLE/2 fois, tout ne sera donc pas initialise
  56         for(int i=0;i<TAILLE/2;++i) {
  57                 cella(A,TAILLE) = 1;
  58         }
  59 
  60         // imprime le resultat
  61         imp(A,TAILLE);
  62         cout << endl;
  63         
  64         return 0;
  65 }
  66