Bonjour,
Voici mon tout premier programme :
mais il ne fonctionne pas.
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 // Ce programme recopie une phrase dans une autre en inversant les lettres de chaque // mot, et en recopiant le minimum despaces dans la phrase résultat. public class RecopierPhraseInversantMot_v2 { private static final int TAILLE = 80; // nombre maximum de caractères dans la chaîne private static final char CARTERM = '.'; private static final char ESPACE = ' '; public static void main(String[] args) { do { char [] tabChar; tabChar = Outils.remplir(TAILLE); // fonction remplir un tableau phrase System.out.print("la phrase est : "); Outils.afficher(tabChar); recopier_inverser (tabCar); // appel la procédure recopier_inverser System.out.print("la phrase inversée est : "); Outils.afficher(tabChar); }while (Dialogue1.veutContinuer()); } public static void recopier_inverser ( char tabCar) { // procédure copier_inverser Entier i = new Entier(); int i_t; int i_i; int taille_mot; int indinv; taille_mot = prendre_mot(tabCar, i); // appel la procédure prendre_mot while (taille_mot == 0) { inverser_mot(texte, ind, indinv, longmot, inverse); // appel la pocédure inverser_mot if (taille_mot == 0) { inverse [i_i] = ESPACE; i_i = i_i + 1; } } } public static int prendre_mot (char [] texte, Entier ind) { // procédure prendre_mot int lg; // éventuels espaces en début de mot sautés while (texte [ind.getVal()] == ESPACE) // arrêt si ce n'est pas un espace { ind.incr(); } // initialisation de la longueur lg = 0; while ((texte [ind.getVal()] != ESPACE) || (texte [ind.getVal()] != CARTERM )) { ind.incr(); lg = lg + 1; } return lg; } public static void inverser_mot (char texte [], int ind, int indinv,int longmot, char inverse[] ) { // procédure inverser_mot ind = ind - 1; while (longmot != 0) // arret quand longmot <> 0 { inverse [indinv] = texte [ind]; indinv = indinv + 1; ind = ind + 1; longmot = longmot - 1; } } }
Quelqu'un saurait-il me guider un peu ?
Merci d'avance pour votre aide.
Partager