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
Partager