Rechercher : dans
Par :

[PASCAL] Recherche d'élément dans un tableau

Dernière réponse le 29 avr 2008 à 20:36:23 cartmanpro, le 28 avr 2008 à 23:36:45 
 Signaler ce message aux modérateurs

Bonjour,
Voilà j'avais un devoir à rendre pour demain. La prof a demandé de rechercher un élément sur une ligne : linéaire :


program recherchex;
const n=3;
var v: array[1..n] of integer;
x,i:integer;
trouve:boolean;
begin
for i:=1 to n do
begin
v[i]:=i;
end;
writeln('Introduire x');
readln(x);
trouve:=false;
i:=1;
begin;
while (i<=n) AND (trouve=false) do
if v[i]=x then trouve:=true;
i:=i+1;
end;
if trouve=true then writeln('x appartient au tableau')
else writeln('x nappartient pas au tableau');
readln;
end.


La prof me demande ensuite de retrouver : Rechercher un élément y dans un tableau de n x m éléments entiers.
Là dessus je suis coincé, donc je viens vous voir pour m'aider, car je n'y arrive pas de ce fait j'ai contacté un ami, il n'y arrive pas non plus. Je sais qu'il faut utiliser deux boucles imbriquées. Pouvez vous m'aidé svp
Merci de votre aide

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [PASCAL] Recherche d'élément dans un tableau » dans :
Manipulations élémentaires des tableaux sous MatLab VoirSommaire I. Stockage des tableaux II. L'indexation linéaire II.1. Accéder à un élément d'un tableau en utilisant l'indexation linéaire II.2. Passer d'une indexation à l'autre II.2.1. La fonction ind2sub II.2.2. La fonction sub2ind III. La...
Inverser les éléments d'un tableau -Récursivité- VoirVoici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Décaler les éléments d'un tableau (Rotation) -Récursivité- VoirVoici une procédure récursive qui permet de décaler tous les éléments d’un tableau d’une position à droite à partir de la position p Procedure Decaler (Var t : Tab; p, n : integer); Begin If p
Javascript - Les tableaux VoirIntroduction à la notion de tableau Les variables de Javascript ne permettent de stocker qu'une seule donnée à la fois. Or, étant donné qu'il est souvent utile de manipuler de nombreuses données, le concept de variable se révéle parfois...
Langage C - Les tableaux VoirType de données complexes Les variables, telles que nous les avons vues, ne permettent de stocker qu'une seule donnée à la fois. Or, pour de nombreuses données, comme cela est souvent le cas, des variables distinctes seraient beaucoup trop lourdes...
Rechercher sur Internet VoirRechercher sur Internet Etant donné le nom de pages web présentes pour le Web, il est nécessaire d'utiliser un outil pour rechercher une page spécifique correspondant à des critères de recherche: le moteur de recherche. Pour utiliser un moteur de...

1

kwaio, le 28 avr 2008 à 23:42:11

En fait c'est simple.
Tu fais une première boucle qui te fais parcourir une a une les "colonnes" de ta matrice.
Dans chacune des itérations de cette première boucle, une seconde boucle parcourt chaque élement de cette colonne.

Exemple :

Tableau n*p (n lignes p colones)

Pour i de 1 à p :
-Pour j de 1 à n :
-si Tableau [i,j] vaut x
--Alors trouvé vaut True
-fin boucle 2
fin boucle 1

Si trouvé = true, afficher "x appartient à cette matrice" Contributeur CCM.
"Si vous savez, répondez a ce message, sinon, abstenez vous, merci !"

Répondre à kwaio

2

cartmanpro, le 28 avr 2008 à 23:56:26

Program recherchex;
const n=1; p=3;
var v: array[n..p] of integer;
x,i,j:integer;
trouve:boolean;
begin
for i:=1 to p do
for j :=1 to n do
begin
v[i]:=i;
end;
writeln('Introduire x');
readln(x);
trouve:=false;
i:=1;
begin;
while (i<=n) AND (trouve=false) do
if v[i]=x then trouve:=true;
i:=i+1;
end;
if trouve=true then writeln('x appartient au tableau')
else writeln('x nappartient pas au tableau');
readln;
end.


sa m"le compile mais je pense avoir faux, je suis nulle en pascal :(, xD..Si je trouve pas tempi j'aurai une preveu que j'aurais cherché et ptet quel me mettra la moyenne :p qui c'est ! :p

Répondre à cartmanpro

3

cartmanpro, le 29 avr 2008 à 00:29:06

Kwaio, je n'arrive toujours pas à dormir sa m'embête énormément ! Veux tu bien m'aidé d'avantage ? stp ?

program recherchex;

var v: array[1..10] of integer;
x,i:integer;
trouve:boolean;

begin
for i:=1 to 10 do
begin
v[i]:=i;
end;
writeln('Introduire x');
readln(x);
trouve:=false;
i:=1;
begin;
while (i<=10) AND (trouve=false) do
if v[i]=x then trouve:=true;
i:=i+1;
end;
if trouve=true then writeln('x appartient au tableau')
else writeln('x nappartient pas au tableau');
readln;
end.

j'vois pas s'que je dois ajouté :s HELP ME plz

Répondre à cartmanpro

4

cartmanpro, le 29 avr 2008 à 08:48:07

[code]program recherchex;
const n:=3;
p:=4;
var mat: array[1..n,1..p] of integer;
v: matrice;
x,i,n,p:integer;
trouve:boolean;

begin
write ('introduire x')
lire (x);
trouve := false
i:=1;
while (a<=n)and (trouve = false)do
b<=1;
while (b<=m) and (trouve = false) do
if v [x,i] = x then trouve = true;
b<= b+1
a:=a+1
if trouve = true then writeln (x,' appartient au tableau');
else writeln (x,' n'appartient pas au tableau');

end.
/code


savez-vous me donné la solution svp..

Répondre à cartmanpro

5

 kwaio, le 29 avr 2008 à 20:36:23

Pour i de 1 à p :
-Pour j de 1 à n :
-si Tableau [i,j] vaut x
--Alors trouvé vaut True
-fin boucle 2
fin boucle 1


Ca donne

Program ----;
uses wincrt;
Const n:=3; p:=4;

Var Tab:array[1..n,1..p]of integer;
i,j:integer;
trouve:boolean;

BEGIN
[Tab doit etre rempli avant]
x:=1; # exemple
trouve:=false

For i:=1 to n do
begin
For j:=1 to p do
begin
if Tab[i,j]=x
then trouve:=true;
end;
end;

If trouve=true
then writeln('x appartiens a la matrice');

END.

(Avec un doute sur les ' => " ? )

Attention, le tableau (la matrice) DOIT ETRE initialisé (rempli d'entiers dans le programme)
Contributeur CCM.
"Si vous savez, répondez a ce message, sinon, abstenez vous, merci !"

Répondre à kwaio
Collection CommentÇaMarche.net