Forum de mathématiques et d'informatique

Connecté en tant que Anonymous. Dernière visite le

Vous n’êtes pas connecté. Connectez-vous ou enregistrez-vous

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 1]

1 Appartient? N'appartient pas? le Mar 20 Mai - 19:31

nabiL

Admin
Admin
Sexe:Masculin

Un petit exercice de révision :

T1 et T2 sont deux tableaux. Chacun est rempli aléatoirement par N entiers naturels
de l'intervalle [10, 90]. N est compris entre 3 et 100.
Afficher les informations suivantes:
- Le nombre d'entiers de T1 qui n'appartiennent pas à T2
- Le nombre d'entiers de T2 qui n'appartiennent pas à T1

@+

Nabil - tunis
خير الناس أنفعهم للناس

2 Re: Appartient? N'appartient pas? le Mar 20 Mai - 19:31

nabiL

Admin
Admin
Sexe:Masculin

Code:
Program appartient;
uses wincrt;
type
  tab = array[1..100] of integer;

procedure saisie_taille(var n: integer);
begin
  repeat
      write('Taille = '); readln(n);     
  until (n in [3..100]);
end;

procedure remplir_aleatoire(var T: tab;n: integer);
var i:integer;
begin
    for i:=1 to n do T[i] := 10 + Random(21);
end;

function existe(x:integer; T:tab; n: integer):boolean;
var i:integer;
begin
  i:=0;
  repeat
      i:=i+1;
  until (i=n) or (T[i]=x);
  existe := (T[i]=x);
end;

function CalculNombre(T1,T2:tab; n:integer):integer;
var nbr,i:integer;
begin
  nbr := 0;
  for i:=1 to n do
      if (existe(T1[i],T2,n)=false) then
        nbr := nbr + 1;
  CalculNombre := nbr;
end;

procedure affiche(T:tab;n:integer);
var i:integer;
begin
  for i:=1 to n do
      writeln(T[i]);
  writeln(' **************************************** ');
end;

VAR
    T1,T2:tab;
    N:integer;
BEGIN
    Randomize;
    saisie_taille(N);
    remplir_aleatoire(T1,N); affiche(T1,N);
    remplir_aleatoire(T2,N); affiche(T2,N);
    writeln(CalculNombre(T1,T2,N),' nombre(s) sur ',N,' appartiennent à T1 et non pas à T2.');
    writeln(CalculNombre(T2,T1,N),' nombre(s) sur ',N,' appartiennent à T2 et non pas à T1.');
END.
Nabil - tunis
خير الناس أنفعهم للناس

Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum