Inverse d'elements d'un tableau

Poster un nouveau sujet   Répondre au sujet

Page 2 sur 2 Précédente  1, 2

Voir le sujet précédent Voir le sujet suivant Aller en bas

Re: Inverse d'elements d'un tableau

Message par lamia le Lun 24 Mar - 23:35

Voilà si j'ai bien compris j'ai fait ainsi:
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. confused

Je sais pas si la syntaxe est correcte confused

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par nabiL le Mar 25 Mar - 8:31

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
Admin

Sexe:Masculin
Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par lamia le Mar 25 Mar - 11:46

ca marche pas meme en declarant ainsi le type tab confused
¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par nabiL le Mar 25 Mar - 15:04

je vais voir le soir !
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par manianis le Mar 25 Mar - 21:35

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
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par methodiX le Mar 25 Mar - 21:46

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)

methodiX
Admin
Admin

Sexe:Masculin
Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par lamia le Mar 25 Mar - 22:00

Merci Manianis.

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;


confused confused


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

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par manianis le Mar 25 Mar - 22:03

Il faut faire attentions à l'usage abusif des points virgules.

for i:=length(ch) downto 1 do;

ne fait rien.

manianis
Admin
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par methodiX le Mar 25 Mar - 22:09

ah d'accord Smile

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)

methodiX
Admin
Admin

Sexe:Masculin
Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par lamia le Mar 25 Mar - 22:10

AHHHH le probleme n'etait qu'un point virgule!! Surprised
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
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par manianis le Mar 25 Mar - 22:13

C'est l'essentiel : lamia

manianis
Admin
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par lamia le Mar 25 Mar - 22:13

Je voudrais bien savoir pourquoi la 1ere solution que j'ai donné ne fonctionne pas Smile
¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par manianis le Mar 25 Mar - 22:20

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;

manianis
Admin
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par lamia le Mar 25 Mar - 22:24

Ah ok, je vois maintenant c'est quoi le probleme.
Merci beaucoup Smile
¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1429
Inscrit le : 04 Nov 2007
Age : 22
Localisation : Tunis

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par manianis le Mar 25 Mar - 22:25

avec plaisir

manianis
Admin
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Page 2 sur 2 Précédente  1, 2

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum