Program S5;
Type
tab = array[1..30] Of integer;
Var
t : tab;
n,i : integer;
//***********************************
Procedure saisie(Var n:integer;Var t:tab);
Var
i : integer;
Begin
Repeat
writeln('n=');
readln(n);
Until (5<=n) And (n<=30) ;
For i:=1 To n Do
Repeat
writeln('T[',i,']=');
readln(t[i]);
Until (1000<=t[i]) And (9999>=t[i]) ;
End;
//***********************************
Function verif(nb:integer) : boolean ;
Var
a,b,c,d,e : integer;
ch : string;
croissant,decroissant,r : boolean;
Begin
str(nb,ch);
croissant := (ch[1]<ch[2])And (ch[2]<ch[3])And (ch[3]<ch[4]);
decroissant := (ch[1]>ch[2])And (ch[2]>ch[3])And (ch[3]>ch[4]);
val(ch[1],a,e);
val(ch[2],b,e);
val(ch[3],c,e);
val(ch[4],d,e);
r := (b-a=c-b)And(c-b=d-c);
verif := (croissant Or decroissant)And r;
End;
//***********************************
Begin
saisie(n,t);
For i:=1 To n Do
If verif(t[i]) Then
writeln(t[i]);
End.
Inscription à :
Publier les commentaires (Atom)