Bonjour,
Je me propose d'écrire un algorithme qui calcul le plus grand écart entre 2 valeurs d'un tableau de dimension 40lignes x 70colonnes ( l'écart est la valeur absolue de la différence de deux élements de type réel ).
Voici l'algorithme, en pseudo-code, que je propose :
Procédure diff
Var réel Tab (40,70)
Var entier H,V
Var réel i,f
Début
Pour H=0 jusqu'à 39
Pour V=0 jusqu'à 69
i=Max(Tab(H,V))
f=Min(Tab(H,V))
Fin pour
Ecart= i - f
Afficher ("l'écart maximum est : " Ecart)
Fin
Cela vous semble t-il juste? Il y a t-il un autre moyen sans utiliser Max et Min ( je ne sais pas si c'est possible de faire appel à d'autre fonctions....)
Je vous remercie d'avance pour votre aide
Cordialement
i=Max(Tab(H,V))
f=Min(Tab(H,V))
Tu calcules le maximum et le minimum d'une seule valeur? Comme disait l'autre, "Quelle est la différence entre un pigeon?" 
Bref, ton algo est faux.
Merci pour votre réponse.
i=Max(Tab(H,V))
f=Min(Tab(H,V))
Ces valeurs ne sont pas les mêmes puisque avant j'ai mis en place 2 boucles permettant de parcourir tout les couples H,V existants dans le tableau ( Pour H=0 jusqu'à 39 Pour V=0 jusqu'à 69 )
Je ne comprends pas pourquoi c'est faux...
Je vous remercie par avance,
Cordialement
La fonction Max() selectionne garde la valeur maximale parmi les valeurs parcourus dans le tableau/
Min () minimale
Mais c'est vrai que c'est un peu facile de faire appel a ces fonctions...
Ton prof n'acceptera jamais ça. Quand tu utilises une fonction auxiliaire, il faut qu'elle te soit donnée ou que tu puisses décrire son algorithme toi-même.
Ok : )
Citation :
min := t(0,0)
max := t(0,0)
pour i de 1 à 39
pour j de 1 à 69
si t(i,j) > max
max = t(i,j)
sinon si t(i,j) < min
min = t(i,j)
afficher max-min
Je ne comprends pas bien : Imaginons que dans mon tableau il n'y a que des nombres négatifs la valeur max n'est alors jamais fixée?
Merci pour votre aide : )
Cordialement
max et min sont initialisées à la première valeur du tableau. (Je me suis un peu emmêlé dans mes notations, tu peux remplacer le := par un = s'il te gêne.)
En effet je n'avais pas pensé à faire comme ça...
Merci beaucoup : )
Pour l'amélioration , peut-être mettre si max=min alors afficher (" Toutes la valeurs sont identiques")?
Non, plus fondamentalement, il est possible de réduire de moitié le temps d'exécution de l'algorithme. Comment ?
Euh non, oublie ce que je viens de dire, j'avais autre chsoe en tête. ^^; Là, l'algorithme est optimal si on ne fait pas d'hypothèse supplémentaire sur le tableau.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :