Triangle d'etoiles

Fermé
hiba125 Messages postés 5 Date d'inscription vendredi 31 mars 2017 Statut Membre Dernière intervention 8 avril 2017 - 8 avril 2017 à 06:48
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 - 4 mai 2017 à 01:56
comment je peux faire ceci avec le language pascal.
voila ma solution mais elle n'etait pas vraie avec tous les 'n' je ne sais pas pourquoi??


program untitled;

uses crt;
var
i ,j,n: byte;
p:string;
BEGIN
readln (n);
p:='*';
for i:=1 to n do
begin
for j:=1 to i-1 do
begin
writeln(p);
p:=p+('*');
end;
end;
end.
merci!!

1 réponse

tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 120
4 mai 2017 à 01:56
Bonjour,

Vous n'avez pas besoin de deux boucles vu que p grandit à chaque fois. Alors, une seule boucle, la première, suffit. Vous n'avez plus besoin du "j" aussi :

BEGIN
	
	ReadLn(n);
	p := '*';
	
	For i:=1 to n Do
	Begin
		WriteLn(p);
		p := p + '*';
	End;
	
END.


Testé, fonctionne.
0