Bonjour
Je dois crée une application en console qui permet de compter le nombre de fois la présence de caractère, par exemple :
Je saisi Developpez
Le caractère D apparait 1 fois
Le caractère e apparait 3 fois
Le caractère v apparait 1 fois
....
J'ai réussi a crée le code qui répond au besoin mais j'aimerais le simplifier au maximum (réduire le nombre de ligne), mon professeur d'informatique m'a mis au défit de trouver une simplification 6-7 lignes (hors traitement de la chaine de caractère au début du programme)
Si vous pouvez m'aider n me conseillant une commande qui pourrait me simplifier.
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 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TD08_02 { class Program { static void Main(string[] args) { string saisi; bool flag; int i, tmp=0, longeur; char cara; do { Console.Write("Saisir votre chaine de caractere : "); saisi = Console.ReadLine().Replace(" ", ""); i = 0; do { flag = false; if (((64 < saisi[i]) && (saisi[i] < 91)) || ((96 < saisi[i]) && (saisi[i] < 123))) flag = true; i++; } while ((flag) && (i < saisi.Length)); } while (flag == false); longeur = saisi.Length; do { tmp = 0; i = 0; cara = saisi[0]; do { i++; tmp = saisi.IndexOf(cara, tmp+1); } while (tmp != -1); Console.WriteLine("Le caractere "+Convert.ToString(cara)+" apparait "+(i.ToString())+" fois"); saisi = saisi.Replace(Convert.ToString(cara), ""); } while (saisi.Length > 0); } } }
Merci d'avance de vos reponses
Partager