Helloo tout le monde!

J'suis nouvelle sur le site, debutante en C++ (je fais quelques cours en fait) et il se trouve en fait que le programme que j'ai ecrit ne fonctionne pas sans que je comprenne la cause exacte en fait. J'ai pas de warning ni rien, juste que il ne fait pas ce que je veux.

Alors en fait j'avais trouvé un exo qui demandait d'ecrire un programme quit :

-1. demande à l’utilisateur d’entrer une phrase ou bien un mot qui peut aller jusqu'a80 caractères,

-2 qui reconstruit une chaîne de caractères (la chaîne peut contenir un ou plusieurs caractères vides) où les caraceteres identiques qui se suivent sont réduits à un seul caractère.

comme Bbonjour qui sera transformé en bonjour.

Voila ce que j'ai ecrit
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
 
#include <iostream>
# include <string>
using namespace std;
 
void saisir(string&chaine);
void transformer(string&chaine);
void afficher (string&chaine);
 
int main ()
{
	string chaine;
	unsigned int taille_max = 80;
	saisir(chaine);
 
	while ((taille_max) < (chaine.size()) )
	{ saisir(chaine); }
 
	transformer(chaine);
 
	afficher(chaine);
 
 
	return 0;
}
 
 
void saisir(string&chaine)
{  
	cout << " Entrer une phrase d'au plus de 80 mots" << endl;
   getline(cin,chaine); 
}
 
 
void transformer(string&chaine)
{   unsigned int k = 0;
	for (unsigned int j = 0; j < chaine.size() ; j=k)
 
	{  k = j++;
	   while (chaine [j] == chaine [k]);
 
	{  chaine[k]='0';
	if ( k < chaine.size())
		k++;
 
	}
	}
}
 
 
 
void afficher(string&chaine)
{
     for (unsigned int i =0; i< (chaine.size()) ; i++)
 
	{ if (chaine[i]!='0')
	cout << chaine[i] << endl; }
 
}
Donc quand j'execute mon programme, il me demande de taper mon mot. Mais quand je vais ecrire par exemple : bbonjour, il doit me le corriger et afficher : bonjour. Sauf que le programme ne fait rien. Il ne se termine même pas, il reste comme ca. Je pense que mon probleme est au niveau de mes boucles dans la fonction transformer mais j'ai beau avoir modifié, changé...regardé looonguement...je ne vois absolument pas ce qui cloche. Donc si vous pouvez m'aidez ce serait sympa! Merci d'avance