Le plus grand ecart!

rymane99 Messages postés 7 Statut Membre -  
 rymane99 -
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

arthurik Messages postés 166 Date d'inscription   Statut Membre Dernière intervention   14
 
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
rymane99 Messages postés 7 Statut Membre
 
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
arthurik Messages postés 166 Date d'inscription   Statut Membre Dernière intervention   14 > rymane99 Messages postés 7 Statut Membre
 
Tu 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
rymane99 Messages postés 7 Statut Membre > arthurik Messages postés 166 Date d'inscription   Statut Membre Dernière intervention  
 
mrççç 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
arthurik Messages postés 166 Date d'inscription   Statut Membre Dernière intervention   14
 
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
arthurik Messages postés 166 Date d'inscription   Statut Membre Dernière intervention   14
 
Un rapport d'algorithmique est à mon avis axé sur l'analyse de la complexité des algo en temps et en espace, mais je pense que c'est un peu dur pour la premiere années. D'ailleur souvent ça porte aussi sur la preuve des algo.

Je pense que pour toi ça doit être l'explication des algos, déroulement de l'algo sur un exemple, parler un petit peu de la performance de ces derniers, estimer la complexités... et avec tout ça un peu de pipeau :) :p ...
0