Programmation en c algorithme

programmeur -  
 Programmeur -
Bonjour,

voila je doit écrire un programme mais je suis bloquer je ne sais pas par ou commencer
"Écrire un algorithme qui prend en entrée deux tableaux d’entiers A et B
et qui retourne le nombre de valeurs présentes à la fois dans A et dans B. On suppose que les tableaux sont de taille n et qu’il n’y a pas de valeur en double dans chaque tableau."
merci pour vos réponse

2 réponses

  1. N005 Messages postés 48 Statut Membre 11
     
    Bonjour,
    Cela est assez simple, je vais ne pas vous donnez le code, mais l'algo:
    Faire une boucle (For de n), dedans vérifier à chaque tour une égalités de chaque table avec n.
    Donnez les résultat !
    1
    1. Programmeur
       
      Mais du coup il me faut 2 boucles vue que j’ai deux tableaux
      0
    2. N005 Messages postés 48 Statut Membre 11
       
      Exemple:

      Définition de variable (table): A, B et C.

      Longueur de la table = T

      A=[1,2,3]
      B=[3,4,5]

      Répéter [longueur table (T)] [n+1 à chaque tour]:
      __Répéter [longueur table (T)] [n1+1 à chaque tour]:
      ____Si A(n)=B(n1) alors ajouter n1 dans la table C
      __n1=0
      0
    3. N005 Messages postés 48 Statut Membre 11
       
      Après, t'a juste à donner la longueur de la table C !
      0
    4. Programmeur
       
      Mais A(n)=B(n1) c’est faux pcq 1 c’est différent de 3 donc on va pas rentrer dans le si
      0
    5. N005 Messages postés 48 Statut Membre 11
       
      Nan:
      Ordre d’exécution:
      ----------------------
      A=[1,2,3]
      B=[3,4,5]
      T=3
      n1=0
      n=0
      -----------------------
      1er tour: (n=0)
      __1er tour: (n1=0)
      ____A(n)=B(n1)
      __<=>A(0)=B(0)
      __<=>1!=3
      __2 tour: (n1=1)
      ____A(n)=B(n1)
      __<=>A(0)=B(1)
      __<=>1!=4
      __3 tour: (n1=2)
      ____A(n)=B(n1)
      __<=>A(0)=B(2)
      __<=>1!=5
      2 tour: (n=1)
      __1er tour: (n1=0)
      ____A(n)=B(n1)
      __<=>A(1)=B(0)
      __<=>2!=3
      __2 tour: (n1=1)
      ____A(1)=B(n1)
      __<=>A(0)=B(1)
      __<=>2!=4
      __3 tour: (n1=2)
      ____A(n)=B(n1)
      __<=>A(1)=B(2)
      __<=>2!=5
      3 tour: (n=2)
      __1er tour: (n1=0)
      ____A(n)=B(n1)
      __<=>A(2)=B(0)
      __<=>3=3 alors C=[3]
      __2 tour: (n1=1)
      ____A(n)=B(n1)
      __<=>A(2)=B(1)
      __<=>3!=4
      __3 tour: (n1=2)
      ____A(n)=B(n1)
      __<=>A(2)=B(2)
      __<=>3!=5

      Donc C donne [3]
      Sois une seul valeur dans la table C
      0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, commence par faire ceci:
    1) montre-nous un programme qui affiche le contenu des deux tableaux.
    2) explique-nous comment tu ferais dans la vie réelle, si on te donnait deux paquets de 10 cartes, sans carte en double dans chacun des paquets, et que tu devais déterminer le nombre de cartes présentes dans les deux paquets.
    0
    1. Programmejr
       
      En fait j’arrive à faire pour un seul tableau c’est à dire que quand j’ai le nombre de valeur du premier tableau je sais pas quoi faire peut être je fait une autre boucle qui prend en argument le deuxième tableau
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Programmejr
       
      alors fais ceci:
      0) montre-nous un programme qui affiche le contenu d'un tableau
      1) montre-nous un programme qui affiche le contenu des deux tableaux.
      2) explique-nous comment tu ferais dans la vie réelle, si on te donnait deux paquets de 10 cartes, sans carte en double dans chacun des paquets, et que tu devais déterminer le nombre de cartes présentes dans les deux paquets.
      0
    3. Programmeur
       
      0) int i; A[i]=0; While (A[i]<n-1){printf (%d,A[i]); i++;}
      0
    4. Programmeur
       
      Mais du coup pour le deuxième je dois juste rajouter un autre printf avec B et dans le while je dois rajouter une autre condition qui dit B<n-1
      0
    5. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Programmeur
       
      as-tu testé le 0? j'en doute!
      testes ce que tu penses, puis, quand cela fonctionne, montre-le nous.
      n'oublie pas le numéro 2, le plus important!
      (j'ai l'impression que tu es très débutant, et que tu devrais commencer par des exercices plus simples)
      0