Exercice Algorithmique
Fermé
GKA
Messages postés
341
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
3 août 2012
-
21 janv. 2008 à 20:20
weld 3aycha - 25 nov. 2010 à 19:45
weld 3aycha - 25 nov. 2010 à 19:45
A voir également:
- Fonction distinct algorithme
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Fonction somme excel - Guide
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
12 réponses
alors,comme grad l'a dit ça n'a rien avoir avec le language(directement):
apparamment la taille de t1 et t2 egale m ,tu en fait une déclaration (t1 et t2 du meme type)
tu saisie(read) le premier tableau (boucle for)puis de même pour le 2ieme
tu peut utiliser la deuxieme boucle en même temps :
chaque element saisie de t2 tu le compare avec tous les éléments de t1,si égale à un enregistre dans t3 .
une toisiéme boucle pour l'affichage.
fait attention aux indices des tableaux,ils ne doivent pas forcemment s'incrémenter en même temps.
apparamment la taille de t1 et t2 egale m ,tu en fait une déclaration (t1 et t2 du meme type)
tu saisie(read) le premier tableau (boucle for)puis de même pour le 2ieme
tu peut utiliser la deuxieme boucle en même temps :
chaque element saisie de t2 tu le compare avec tous les éléments de t1,si égale à un enregistre dans t3 .
une toisiéme boucle pour l'affichage.
fait attention aux indices des tableaux,ils ne doivent pas forcemment s'incrémenter en même temps.
GKA
Messages postés
341
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
3 août 2012
77
22 janv. 2008 à 21:03
22 janv. 2008 à 21:03
oui mec mais mon probléme c'est que les 2 tableaux t1 et t2 doivent être remplies par des caractéres distincts, c'est ici ou se pose le prob!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
GKA
Messages postés
341
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
3 août 2012
77
23 janv. 2008 à 21:44
23 janv. 2008 à 21:44
c'est le type CHAR cad: des symboles ? ; / ! § $ ... des lettres majiscules de A à Z et lettre minuscules de a à z, des chiffres 1,2,3,....
c'est claire maintenant
c'est claire maintenant
ok maintenant voici le programme:
program ex;
uses wincrt;
var t1,t2,t3:string; //string est un tableau de chaînes de caractères
i,j,a:integer;
label lab;
Begin
read(t1,t2);
a:=0;
For i:=1 to lenght(t1) do
begin
For j:=1 to lenght(t2) do
begin
if t1[i]=t2[j] then
begin
a:=a+1;
t3[a]:=1t[i]; // et en même temps t2[j]
end
else
begin
goto lab;
lab:
end;
end;
end;
write(t3);
readln;readln;
end.
program ex;
uses wincrt;
var t1,t2,t3:string; //string est un tableau de chaînes de caractères
i,j,a:integer;
label lab;
Begin
read(t1,t2);
a:=0;
For i:=1 to lenght(t1) do
begin
For j:=1 to lenght(t2) do
begin
if t1[i]=t2[j] then
begin
a:=a+1;
t3[a]:=1t[i]; // et en même temps t2[j]
end
else
begin
goto lab;
lab:
end;
end;
end;
write(t3);
readln;readln;
end.
GKA
Messages postés
341
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
3 août 2012
77
24 janv. 2008 à 20:23
24 janv. 2008 à 20:23
une bonne idée, mais ce programme n'est pas bien traduit pour Pascal, mais quand même merci bien pour l'aide et j'aurais voulu que ca sera en algorithmique, en tt cas cé bon.
Merci mon pote
Merci mon pote
c trops simple
voila la solution mais peut etre vous devez faire quelques correction syntaxique car j'ai pas le turbo pascal sur mon poste et j'ai ecrit directement le programme};
program intersection;
uses wincrt; { cette instructionn n'est uliliser qu'avec le TPW 1.5 si tu a le trubo pascal 7 tu dit ecrir uses crt;}
type tab = array[1..50] of char;
var
t1, t2, t3: tab;
n1, n2, k : integer;
{ cette fonction on va l'utiliser pour remplir un tableau par n elements distincts}
function existe(t: tab; f:integer; c:char):boolean;
var i: ineteger;
begin
i:= 0;
repeat
i:= i+1;
until(t[i]=c) or (i=f);
existe:= t[i]=c;
end;
{procedure remplir, pour le remplissage d'un tableau}
procedure rempli(var t:tab; var n: integer);
var i:integer;
begin
readln(n); { taille du tableau}
readln(t[1]); { 1 er element du tableau}
for i:=2 to n do { la suite des elements distincts}
repeat
readln(t[i]);
untill( not existe(t,i-1, t[i])); { l'appel de cette fonction va verifier si t[i] existe dans tout la partie précédente du tableau}
end;
procedure inter( var t3:tab; t1, t2: tab; n1,n2: integer; var n:integer); { t3 c'est le tableau d'intersection; n c sont taille}
var i:integer;
begin
for i:= 1 to n1 do
if not existe(t2, n2, t1[i]) then
begin
n:=n+1;
t3[n]:= t1[i];
end;
for i:= 1 to n2 do
if not existe(t1, n1, t2[i]) then
begin
n:=n+1;
t3[n]:= t1[i];
end;
end;
{programme principal}
begin
remplir(t1, n1);
rempli(t2, n2);
inter(t3, t1, t2, n1, n2, n);
writeln('le tablleau d'intersection est');
for k:= 1 to n do
writeln(t3[k]);
end;
voila la solution mais peut etre vous devez faire quelques correction syntaxique car j'ai pas le turbo pascal sur mon poste et j'ai ecrit directement le programme};
program intersection;
uses wincrt; { cette instructionn n'est uliliser qu'avec le TPW 1.5 si tu a le trubo pascal 7 tu dit ecrir uses crt;}
type tab = array[1..50] of char;
var
t1, t2, t3: tab;
n1, n2, k : integer;
{ cette fonction on va l'utiliser pour remplir un tableau par n elements distincts}
function existe(t: tab; f:integer; c:char):boolean;
var i: ineteger;
begin
i:= 0;
repeat
i:= i+1;
until(t[i]=c) or (i=f);
existe:= t[i]=c;
end;
{procedure remplir, pour le remplissage d'un tableau}
procedure rempli(var t:tab; var n: integer);
var i:integer;
begin
readln(n); { taille du tableau}
readln(t[1]); { 1 er element du tableau}
for i:=2 to n do { la suite des elements distincts}
repeat
readln(t[i]);
untill( not existe(t,i-1, t[i])); { l'appel de cette fonction va verifier si t[i] existe dans tout la partie précédente du tableau}
end;
procedure inter( var t3:tab; t1, t2: tab; n1,n2: integer; var n:integer); { t3 c'est le tableau d'intersection; n c sont taille}
var i:integer;
begin
for i:= 1 to n1 do
if not existe(t2, n2, t1[i]) then
begin
n:=n+1;
t3[n]:= t1[i];
end;
for i:= 1 to n2 do
if not existe(t1, n1, t2[i]) then
begin
n:=n+1;
t3[n]:= t1[i];
end;
end;
{programme principal}
begin
remplir(t1, n1);
rempli(t2, n2);
inter(t3, t1, t2, n1, n2, n);
writeln('le tablleau d'intersection est');
for k:= 1 to n do
writeln(t3[k]);
end;
GKA
Messages postés
341
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
3 août 2012
77
31 janv. 2008 à 17:38
31 janv. 2008 à 17:38
Merci mon pote, mé cé un peu en retard car on a corrigé l'exercice au lycée et c le même que tu vien d'ecrire. MERCI BIEN en tt cas.
mon msn est ghassen_khalil@hotmail.fr, je veu qu'on soi ami, j'attend ta réponse. a++
mon msn est ghassen_khalil@hotmail.fr, je veu qu'on soi ami, j'attend ta réponse. a++
jeff7
Messages postés
2
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
13 août 2011
10 mars 2008 à 17:29
10 mars 2008 à 17:29
salut a tous je suis en premiere année d'informatique et gestion et je désire avoir des sujet d'algorithme simple venant de vous por m'exercer merci