[PASCAL] Recherche d'élément dans un tableau
cartmanpro
Messages postés
38
Date d'inscription
Statut
Membre
Dernière intervention
-
kwaio Messages postés 3423 Date d'inscription Statut Contributeur Dernière intervention -
kwaio Messages postés 3423 Date d'inscription Statut Contributeur Dernière intervention -
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
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
A voir également:
- [PASCAL] Recherche d'élément dans un tableau
- Turbo pascal - Télécharger - Édition & Programmation
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- My pascal - Télécharger - Édition & Programmation
2 réponses
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"
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"
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)
-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)
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
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
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..