Le plus grand ecart!

slt tout le monde! les amis j'ai vraiment besoin de votre aide pour resoudre deux exos d'algorithme voila le premier: on considre un tableau d'entiers positifs Vect de taille n. ecrire un algo ou un programme C qui detremine le plus grand ecart entre deux éléments consécutifs
le deuxiéme: on considere un tableau d'entiers Vect de taille n.une tranche d'un tableau est une sequence d'éléments consécutifs de celui ci. Une tranche d'ordre k est une séquence contenant entre 1 et k éléments. la valeur d'une tranche est la somme de ses éléments.Ecrire un algo ou programme C qui determine la tranche d'ordre trois de ce tableau ayant la plus petite valeur
Répondez moi pleaaase!!

1 réponse

  1. Salut!

    Pour le premier qui est simple:

    ex1(tab:tableau, n:entier) -> ecart :entier
    i, temp : entier;
    ecart <-- 0;
    i <-- 0;

    tant que i < n-1
    temp = abs(tab[i]-tab[i+1]);
    if(temp > ecart)
    ecart = temp;
    endif
    fin tant que
    fin ex1

    Pour le deuxième je donne une piste mais je trouve que le problème est ambiguë :
    Il faut savoir identifier toutes les tranches. C'est à dire dénombrer l'espace de recherche...
    Je propose que 1, 2, 3 représentent les tranches ayant comme début la première case du tableau, puis les 3 suivants : ayant comme début la 2eme cases. Tu peux faire deux boucles imbriquées. Bon courage.
    0
    1. merçi bcp arthurik vous m'avez sauvé! Exusez moi j'ai une petite question considerant le premier exo: que signifie temp et abs ( je sais que c'est bete mais svp repodez moi!) et voila quelque notes sur le 2eme exo: une tranche d'ordre 3 est une séquence d'éléments consécutifs ayant au moins 3 éléments.Eexemple:soit Vect=(-20,8,-11,10,-9,-15,8,13,-7,4) un tableau de 10 entiers
      la tranche(-9,-15) est celle ayant la plus petite valeur((-9)+(-15)=-24) parmi les tranches d'ordre 3.
      la tranche(-20,8,-11) est une tranche d'ordre 3. sa valeur est (-20+8-11)>-24
      j'espere que c'est plus clair mnt!! vous pouvez me resoudre ça svp?? c"est premiere année en informatique et je suis out !!
      0
    2. @rymane99Tu aurais compris que c'est langage algorithmique.
      Désolé c'est vrai que j'aurais du plus insister sur les choses. Temp c'est une variable temporaire pour stocker le calcul, abs c'est une fonction qui renvoie la valeur absolue.
      Dis moi si tu arrive à écrire ça en C++.

      Pour exo 2 tu est sur que c'est "au moins 3 éléments " ce qui m'étonnerais...

      A+
      0
    3. @arthurikmrççç bcp...bah je l'ai pas encore ecris en language c et pour le 2eme exo c'est AU PLUS 3 éléments alors?..
      merçi d'avance
      0
    4. J'ai fait ça rapidement sans tester ni vérifié mais c'est de ce gout la ...


      int valeurTranche(int index, int longueurTranche, const vector<int> & tableau);

      void ex2(const vector<int>&tab)
      {
      int valMin = 0, temp;
      //index de la tranche donnant la valeur min
      int indexTrancheMin = 0;
      //taille de la trache ---------------------
      int tailleTrancheMin = 0;
      for(int i = 0; i < tab.size();i++)
      {
      //pour toutes les tailles de tranches
      for(int j = 1; j <=3 && i+j-1 < tab.size();j++)
      {
      valMin = valeurTranche(i, j, tab);
      if(temp < tailleMin)
      {
      valMin = temp;
      indexTrancheMin = i;
      tailleTrancheMin = j;
      }
      }
      }

      ///////
      //le resultat est donné avec indexTrancheMin et tailleTrancheMin
      ///////
      }

      int valeurTranche(int index, int longueurTranche, const vector<int> & tableau)
      {
      int somme = 0;
      for(int i = 0; i < longueurTranche;i++)
      {
      somme+=vector[index+i];
      }
      return somme;
      }


      Ne te décourage pas, l'algorithmie est parfois dure
      0
    5. @arthurikmrççç bcccp arthurik c'est trés gentil de votre part!
      il me reste une seul question:comment ecrire tout ça sous une forme d'un rapport? au fait c'est quoi le contenu d'un rapport algorithmique?
      mrç encore
      -1