Comment faire pour trouver la solution de ce programme :
Ecrire un programme qui sollicite à l'utilisateur la hauteur et imprime une forme, tel que celui-ci :
- celle de droite : indique la hauteur6
- gauche : indique la hauteur 10
Comment faire pour trouver la solution de ce programme :
Ecrire un programme qui sollicite à l'utilisateur la hauteur et imprime une forme, tel que celui-ci :
- celle de droite : indique la hauteur6
- gauche : indique la hauteur 10
Tu as codé quelque chose ? N'espère pas qu'on fasse ton travail à ta place.
Explique ce que tu as codé et les problèmes que tu as rencontrés.
c est pas juste ce que tu as dis , mais bon , voila ce que j'ai fait : mais le probleme c'est j'ai fait ça en langage C , mais pas en pascal ,(c est juste 1/2 de code)
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 Console.Write("Please inpout a number: "); string str = Console.ReadLine(); int number = Convert.ToInt32(str); if ((number % 2) == 0) number = number - 1; int i = 0; int odd = -1; while (i < (number / 2)) { for (int k = i; k < (number/2)-1; k++) { Console.Write(" "); } Console.Write("**"); for (int j = 0; j < odd; j++) { Console.Write(" "); } if (i > 0) { Console.WriteLine("**\r\n"); } else Console.WriteLine(); i++; odd += 2; }
Jai,
Puisque tu l'as fait en C, tu connais l'algorithme, tu as donc l'essentiel, et l'implémenter en Pascal ne devrait pas te poser de problème.
Montre-nous ce que tu as fait pour ça, dis-nous ce qui ne va pas, te bloque...
Comme l'a déjà dit wormful_sickfoot, personne ici ne fera ton travail à ta place.
ps : nous sommes sur un forum, pas sur un chat, tu peux donc prendre le temps d'écrire correctement.
voila le code entier , en pascal, mais il me compile toujours 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 program hauteur(input,output); var number,i,j,k,l,m,odd,bottomWidth : integer; begin Write('Please input a number: '); Readln(number); if (number MOD 2) < 1 then number := number - 1; i := 0; odd := -1; while (i < (number / 2)) do begin for k := i to (number/2)-2 do Write('**'); for j := 0 to odd-1 do Write(' '); if (i > 0) then Write('**') else Writeln(''); i:=i+1; odd := odd + 2; end; { mid line} Write(' '); for l := 0 to odd-3 do Write('**'); Writeln(''); bottomWidth := odd ; {bottom part...} odd := odd - 2; while (i<(number-1)) do begin for m := 0 to (((ancho_fondo-odd)/2)-1) do Write('**'); odd := odd- 2; if (i < (number - 2)) then Write(' '); for m := 0 to (odd-1) do Write('**'); if (i < number - 3) then Write(' '); if i = (number - 2) then odd := odd+ 2; for m := 0 to (((bottomWidth - (odd + 2)) / 2)-1) do Write('**'); i := i+1; Writeln(''); end; end .
Qia,
Mets-nous les messages de ton compilateur.
Juste en jetant un rapide coup d'oeil, je vois la dernière ligne
il ne faut pas d'espace entre end et le point.
Code : Sélectionner tout - Visualiser dans une fenêtre à part end .
Côté présentation du code, il y a des lignes vides pour aérer, c'est bien, MAIS il ne faut pas en abuser.
Voici un exemple de présentation de ton code, vite fait sur le coin du bureau
Ce code n'est pas corrigé (à l'exception de l'erreur signalée plus haut), et je n'ai même pas regardé ce qu'il fait, il faut déjà supprimer toutes les erreurs qui l'empêchent de compiler (en faisant ça, on retrouve assez souvent les erreurs de logique).
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 program hauteur(input, output); var number, i, j, k, l, m, Odd, bottomWidth : integer; begin Write('Please input a number: '); Readln(number); if (number mod 2) < 1 then number := number - 1; i := 0; Odd := -1; while (i < (number / 2)) do begin for k := i to (number / 2) - 2 do Write('**'); for j := 0 to Odd - 1 do Write(' '); if (i > 0) then Write('**') else Writeln(''); i := i + 1; Odd := Odd + 2; end; { mid line} Write(' '); for l := 0 to Odd - 3 do Write('**'); Writeln(''); bottomWidth := Odd; {bottom part...} Odd := Odd - 2; while (i < (number - 1)) do begin for m := 0 to (((ancho_fondo - Odd) / 2) - 1) do Write('**'); Odd := Odd - 2; if (i < (number - 2)) then Write(' '); for m := 0 to (Odd - 1) do Write('**'); if (i < number - 3) then Write(' '); if i = (number - 2) then Odd := Odd + 2; for m := 0 to (((bottomWidth - (Odd + 2)) / 2) - 1) do Write('**'); i := i + 1; Writeln(''); end; end.![]()
Partager