Inverse d'elements d'un tableau
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal
Page 2 sur 2•
Page 2 sur 2 •
1, 2
Re: Inverse d'elements d'un tableau
Voilà si j'ai bien compris j'ai fait ainsi:
Mais j'ai une erreur de compilation au niveau de cette fonction.
Je sais pas si la syntaxe est correcte
- Code:
function inverse(ch:string):string;
var
i,j:integer;
type ch1=array[1..10]of string[30];
begin
j:=1;
for i:=length(ch) downto 1 do;
begin
ch1[j]:=ch[i];
j:=j+1;
end;
inverse:=ch1;
end;
Mais j'ai une erreur de compilation au niveau de cette fonction.
Je sais pas si la syntaxe est correcte


lamia- Admin




- Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis
Feuille de personnage
Capacité linguistique:


(996/1000)
Re: Inverse d'elements d'un tableau
C'est incorrect. Tu dois déclarer les types en haut du programme comme suit:
- Code:
Program blabla;
uses wincrt;
type
Tab = array[1..100] of string[30];
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Inverse d'elements d'un tableau
ca marche pas meme en declarant ainsi le type tab 

¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia

lamia- Admin




- Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis
Feuille de personnage
Capacité linguistique:


(996/1000)

nabiL- Admin


- Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Inverse d'elements d'un tableau
voici ma proposition : (fonctionnelle)
- Code:
program tab_claire;
// uses wincrt;
type tab=array [1..10] of string;
var n:integer;
p,q:tab;
procedure taille(var nn:integer);
begin
repeat
write('donner la taille');
readln(nn);
until nn in[1..10] ;
end;
function verification(ch:string):boolean;
var i:integer;
verif:boolean;
begin
i:=1;
verif:=true;
while(verif=true)and(i<=length(ch))do
begin
if not (ch[i] in ['0'..'9'])then
verif:=false
else
i:=i+1;
end;
verification:=verif;
end;
procedure saisie(nn:integer;var pp:tab);
var i:integer;
begin
for i:=1 to nn do
repeat
write('pp[',i,']=');
readln(pp[i]);
until verification(pp[i]);
end;
function inverse(ch:string):string;
var
i:integer;
ch1:string;
begin
ch1:='';
for i:=1 to length(ch) do
begin
ch1:=ch[i]+ch1;
end;
inverse:=ch1;
end;
procedure tableau_inverse(nn:integer; pp:tab ;var qq:tab);
var i:integer;
begin
for i:=1 to nn do
begin
qq[i]:=inverse(pp[i]);
end;
end;
procedure affiche_tableau_inverse(nn:integer;qq:tab);
var i:integer;
begin
for i:=1 to nn do writeln(qq[i]);
end;
begin
taille(n);
saisie(n,p);
tableau_inverse(n,p,q);
affiche_tableau_inverse(n,q);
readln;
end.
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Inverse d'elements d'un tableau
Qu'est-ce qui a été modifié par rapport à la solution de début?
Sami - Methodix, tunis
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)

methodiX- Admin


- Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST
Feuille de personnage
Capacité linguistique:


(1000/1000)
Re: Inverse d'elements d'un tableau
Merci Manianis.
Ce qui est modifié est le code de la fonction inverse.
mais je comprend pas la difference entre :
et:

Ce qui est modifié est le code de la fonction inverse.
mais je comprend pas la difference entre :
- Code:
ch1:='',
for i:=length(ch) downto 1 do;
begin
ch1:=ch1+ch[i];
end;
et:
- Code:
ch1:='',
for i:=1 to length(ch) do
begin
ch1:=ch[i]+ch1;
end;

Dernière édition par lamia le Mar 25 Mar - 22:12, édité 1 fois

lamia- Admin




- Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis
Feuille de personnage
Capacité linguistique:


(996/1000)
Re: Inverse d'elements d'un tableau
Il faut faire attentions à l'usage abusif des points virgules.
for i:=length(ch) downto 1 do;
ne fait rien.
for i:=length(ch) downto 1 do;
ne fait rien.
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Inverse d'elements d'un tableau
ah d'accord 
merci bien manianis. Il faut faire attention!
merci bien manianis. Il faut faire attention!
Sami - Methodix, tunis
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)

methodiX- Admin


- Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST
Feuille de personnage
Capacité linguistique:


(1000/1000)
Re: Inverse d'elements d'un tableau
AHHHH le probleme n'etait qu'un point virgule!!
J'ai déjà essayer cette solution avec le down to mais ca fonctionnait pas à cause de de point virgule!!! maintenant j'ai essayer encore une fois et ca fonctionne.
MERCI.
J'ai déjà essayer cette solution avec le down to mais ca fonctionnait pas à cause de de point virgule!!! maintenant j'ai essayer encore une fois et ca fonctionne.
MERCI.
¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia

lamia- Admin




- Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis
Feuille de personnage
Capacité linguistique:


(996/1000)
Re: Inverse d'elements d'un tableau
C'est l'essentiel : lamia
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Inverse d'elements d'un tableau
Je voudrais bien savoir pourquoi la 1ere solution que j'ai donné ne fonctionne pas 
¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia

lamia- Admin




- Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis
Feuille de personnage
Capacité linguistique:


(996/1000)
Re: Inverse d'elements d'un tableau
ch1 := ''; { ch1 est initialement vide }
j := 1;
for i:=length(ch) downto 1 do begin
ch1[j] := ch[i]; { la chaine est vide comment modifier le jème caractère ?}
j := j + 1;
end;
j := 1;
for i:=length(ch) downto 1 do begin
ch1[j] := ch[i]; { la chaine est vide comment modifier le jème caractère ?}
j := j + 1;
end;
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Inverse d'elements d'un tableau
Ah ok, je vois maintenant c'est quoi le probleme.
Merci beaucoup
Merci beaucoup
¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia

lamia- Admin




- Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis
Feuille de personnage
Capacité linguistique:


(996/1000)
Re: Inverse d'elements d'un tableau
avec plaisir
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Page 2 sur 2 •
1, 2





