bonjour tout le monde j'essaye envain d'aboutir à mon projet qui est de justifier un texte j'ai fait ça:

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
 
#include <string>
#include <iostream>
using namespace std;
int main()
{
 
// Lecture
   string text;
   int l, deb;
   cout <<  "texte ?" << endl;
   getline(cin,text);
   cout << "Entrer le nombre de caractere que vous voulez pour une     ligne?" << endl;
   cin >> l;
 
 
   // Nombre de caracteres
   size_t len = text.length();
 
   // Nombre de mots
   unsigned int nb_words=0;
   for(unsigned int i=0;i<len;i++)
   {
      // avancer jusqu'au prochain mot
      while ((isalpha(text[i]) && i<len)) i++;
 
      // on a atteint la fin d'un mot ou de la chaine
      if (i<=len) 
           nb_words++;
    }
 
 
    if (l<10 or l>80){
       cout<<"l est erroné."<<endl;
    }
    else {
        if ((text.length()) < l)
        {
           cout<<text<<endl;
        }
        else
        {
 
 
           deb = 0;
           i = l;
           while (i < len)
           {
              while ((i>deb) && (text[i] != ' ')) i--;
 
              if (i>deb)
              {
                 text[i]=10;
                 deb = i;
                 i += l;
              }
            }
 
            cout << text << std::endl;
          }
     }
}
tout marche comme je le souhaite mais maintenant il faudrait que je répartise mes espaces entres mes mots suivant la longueur de la ligne, si vous pourriez m'indiquer comment je peut faire ce serait super.
merci d'avance