• Aucun résultat trouvé

begin repeat Write('Donner le nombre d''éléments [5..20

N/A
N/A
Protected

Academic year: 2022

Partager "begin repeat Write('Donner le nombre d''éléments [5..20"

Copied!
2
0
0

Texte intégral

(1)

program sujet_9h30;

uses WinCrt;

type tab = array [1..20] of integer;

procedure remplir(var t : tab ; var n : integer);

var v : longint;

e, i : integer;

begin repeat

Write('Donner le nombre d''éléments [5..20] : ');

Readln(n);

until (n >= 5) and (n <= 20);

for i:=1 to n do begin

repeat

Write('T[',i,']= ');

Readln(t[i]);

until (t[i] > 0);

end;

end;

function derangement(t : tab ; n : integer):boolean;

var i, j, p : integer;

test : boolean;

begin

test := true;

i := 1;

while (test=true) and (i <= n) do begin

j := 1;

p := 0;

while (p = 0) and (j <= n) do begin

if (t[j] = i) then p := j else j := j + 1;

end;

test := (p <> 0) and (p <> i);

i := i + 1;

end;

derangement := test;

end;

(2)

var t : tab;

n : integer;

begin

Remplir(t, n);

if derangement(t, n) then

Writeln('t est un dérangement') else

Writeln('t n''est pas un dérangement');

end.

Références