Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-17%
Le deal à ne pas rater :
(Black Friday) Apple watch Apple SE GPS + Cellular 44mm (plusieurs ...
249 € 299 €
Voir le deal

Exercice sympa sur les tableaux

2 participants

Aller en bas

Exercice sympa sur les tableaux Empty Exercice sympa sur les tableaux

Message par Napoléon Lun 30 Mai - 2:14

Essayer de faire l'exercice suivant (complexité modérée pour la section MATH)




Ecrire
une analyse, un algorithme et un programme en Pascal qui remplit deux tableaux
de N entiers T1 et T2 et crée deux nouveaux tableaux DT1 et DT2 contenant
respectivement les éléments de T1 qui possèdent des multiples dans T2, et les
éléments de T2 qui possèdent des multiples dans T1.


Exemple :


T1=[5,14,12,8]
et T2=[25,16,7,3]



Les
entiers DT1=[5,8] ont des multiples dans T2.



Les
entiers DT2=[3,7] ont des multiples dans T1.



Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Exercice sympa sur les tableaux Left_bar_bleue999/1000Exercice sympa sur les tableaux Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Exercice sympa sur les tableaux Empty Re: Exercice sympa sur les tableaux

Message par mo5bzn Mer 20 Mai - 14:01

Code:

Program multiples;

Uses crt;

Type
  tab = array [1..10] Of integer;

Var
  t1,t2,dt1,dt2: tab;
  n,k,l: integer;

Procedure saisir(Var n: integer);
Begin
  Repeat
    writeln('Saisir N ');
    readln(n);
  Until n In [3..10];
End;

Procedure saisie(Var t: tab; n: integer);

Var
  i: integer;
Begin
  For i:=1 To n Do
    Begin
      Repeat
        writeln('Saisir la case ',i);
        readln(t[i]);
      Until ( t[i] > 0 );
    End;
End;

Procedure creer(Var ta: tab; t1,t2: tab; n: integer; Var k: integer);

Var
  i,j: integer;
  b: boolean;
Begin
  k := 0;
  For i:=1 To n Do
    Begin
      j := 0;
      b := false;
      While ( j < n ) And Not b Do
        Begin
          inc(j);
          b := t2[j] Mod t1[i] = 0;
        End;
      If b Then
        Begin
          inc(k);
          ta[k] := t1[i];
        End;
    End;
End;

Procedure afficher(t: tab; n: integer);

Var
  i: integer;
Begin
  For i:=1 To n Do
    Begin
      write(t[i],'  ');
    End;
  writeln;
End;

Begin
  saisir(n);
  saisie(t1,n);
  saisie(t2,n);
  creer(dt1,t1,t2,n,k);
  creer(dt2,t2,t1,n,l);
  afficher(dt1,k);
  afficher(dt2,l);
End.

mo5bzn
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 3
Localisation : Sousse
Réputation : 0
Points : 3477
Date d'inscription : 20/05/2015

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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