Bonjour,
Voila je suis étudiant en première année de DUT, et dans le cadre de mes révisions j'essaie de créer les commandes Unix en C++.
Or me voici face a un problème que je ne peux résoudre seul.
C'est pourquoi je demande votre aide, pour la réalisation de la commande Sort.
Tout d'abord, il y a une erreur au niveau de la ligne 39 que je n'arrive pas a résoudre.
Et par la même occasion, Comment faire pour que le programme utilise l'entrée standard, pour affecter les variables, qui au préalable doivent être au nombre désiré par l'utilisateur.



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
 
#include <iostream>
#include <string>
#include <vector>
using namespace std;
////////////////////////////////////////////////////////////////
class phrase
   {
   private:
      string texte;
      public:
//--------------------------------------------------------------
//--------------------------------------------------------------
   void displayphrase()
      {
      cout << texte;
      }
//--------------------------------------------------------------
   string getLast()  
      { return texte; }
   }; //end class phrase
////////////////////////////////////////////////////////////////
class ArrayInOb                 // L'erreur survient ici !!
   {
   private:
      vector<phrase*> v;        
      int nElems;                
   public:
//--------------------------------------------------------------
   ArrayInOb(int max) : nElems(0)  
      {
      v.resize(max);              
      }
//--------------------------------------------------------------
 
   void insert(string txt)
      {
      string texte;
      v[nElems] = new phrase(texte);
      nElems++;       
      }
//--------------------------------------------------------------
   void display()              
      {
      for(int j=0; j<nElems; j++)    
         v[j]->displayphrase();     
 
      }
//--------------------------------------------------------------
   void insertionSort()
      {
      int in, out;
      for(out=1; out<nElems; out++)
         {
         phrase* temp = v[out];     
         in = out;                 
 
         while( in>0 && v[in-1]->getLast() > temp->getLast() )
            {
            v[in] = v[in-1];      
            --in;                  
            }
         v[in] = temp;            
         } //end for
      } //end insertionSort()
//--------------------------------------------------------------
   }; //end class ArrayInOb
////////////////////////////////////////////////////////////////
int main()
      {
      int i,j;
      int maxSize = 100;  
      ArrayInOb arr(maxSize);   
 
     //create array
 
 
      arr.insert("John");
      arr.insert("Smith");
      arr.insert("Edward");
      arr.insert("Yee");
 
      cout << "Before sorting:" << endl;
      arr.display();               
      arr.insertionSort();     
      cout << "After sorting:" << endl;
      arr.display();           
      return 0;
}

Merci de votre aide