Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

les tableau

Posté par
khadi
05-12-09 à 18:40

salut
j'ai un algorithme mais je sais pas si ma solution est juste le voilà:
écrire un algorithme qui recherche la position d'une valeur val donnée dans un tableau T (val existe au plus une fois )
voilà ma solution
                    algorithme position;
var T:tableau[n]d'entiers;
i,val,k:entiers;
debut
ecrire('donner la valeur de n');
lire(n);
pour i:=1  à n faire
lire(T[i]);
fait;
ecrire('donner la valeur de val');
lire(val);
pour i:= 1 à n faire
si (T[i]):=val)alors
k:=i
finsi
fait;
ecrire('la position de val est:',k);
fin.
merci de vérifier si mon algorithme est juste

Posté par
verdurin
re : les tableau 05-12-09 à 22:06

Bonsoir,
ton algorithme a deux problèmes :
\qquad - que se passe t-il si la valeur demandée val n'est pas dans le tableau ?
\qquad - que se passe t-il si la valeur demandée val est plusieur fois dans le tableau ?

Pour le premier point je pense qu'initialiser k à 0 et faire un test du genre si k=0 la valeur n'est pas dans le tableau est suffisant.

Pour le deuxième on peut construire une liste, utiliser un tableau auxiliaire de booléens ou, ce qui est sans doute le plus simple, écrire les résultats dans le test :
\qquad {}si (T[i]):=val)alors
\qquad {}\qquadk:=i
\qquad {}\qquadecrire(' val est à la position ' k);
\qquad {}finsi
le problème étant que les valeurs ne sont pas mémorisées.

Posté par
Eric1
re : les tableau 01-08-10 à 18:38

Juste pour signaler que dans son énoncé,

Citation :
(val existe au plus une fois )
ce qui évite ce deuxième cas (du moins à priori seulement)



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !