Inverse d'elements d'un tableau

Page 1 sur 2 1, 2  Suivante

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

Inverse d'elements d'un tableau

Message par lamia le Dim 23 Mar - 12:06

J'ai ce programme dont je ne sais pas où l'erreur:

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])=true;
  end;
 
function inverse(ch:string):string;
  var
  i,j:integer;
  ch1:string;
  cc: char;
  begin
    j:=1;
    ch1:='';
    for i:=length(ch) downto 1 do;
      begin
        ch1[j]:=ch[i];
        j:=j+1;
      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);
 end.


Le programme fait:
- la saisie de nombre d'element dans un tableau
- la saisie des elements du tableau
- inverser chaque element du tableau et l'afficher (exemple : tableau initial (123|2345|987) on aura (321|5432|789) )
(RQ: c'est different du faite d'inverser le tableau ce qui donnera (987|2345|123))

Merci de m'aider Smile
(c'est un exercice pascal niveau bac maths)

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1427
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 methodiX le Dim 23 Mar - 13:55

Il n'y a pas d'erreurs lors de la compilation? Juste une erreur de Logique, non? confused
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 Dim 23 Mar - 14:56

methodiX a écrit:Il n'y a pas d'erreurs lors de la compilation? Juste une erreur de Logique, non? confused


Oui , pas d'erreur lors de la compilation, et meme coté logique je la vois pas où confused

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1427
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 Lun 24 Mar - 14:27

Code:
function inverse(ch:string):string;
  var
  i,j:integer;
  ch1:string;
  cc: char;
  begin
    j:=1;
    ch1:='';
    for i:=length(ch) downto 1 do;
      begin
        ch1[j]:=ch[i];
        j:=j+1;
      end;
 
  inverse:=ch1;
  end;


Je n'ai pas le compilateur PASCAL maintenant, mais je crois que le problème est dans cette fonction qui fait l'inverse d'une String.
Plus précisément l'instruction suivante: ch1[j]:=ch[i];

Essaie de la remplacer par
Code:
ch1 := ch1 + ch[i]


et n'oublie pas d'initialiser ch à la chaine vide.

@+
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1906
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 Lun 24 Mar - 14:39

J'ai déjà essayé de faire ainsi:
Code:
function inverse(ch:string):string;
  var
    i:integer;
    ch1:string;
    cc: char;
  begin
    ch1:='';
    for i:=length(ch) downto 1 do;
    begin
      ch1:=ch1+ch[i];
  end;

  inverse:=ch1;
end;


et ca donne ce reusltat:

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1427
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 Lun 24 Mar - 17:14

Essaie de déclarer autrement le tableaux de String:

Code:
type tab=array[1..10]of string[30];


ça donne quoi?
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1906
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 Lun 24 Mar - 18:37

J'ai pas compris comment declarer les chaines de caracteres comme des tableau, si déjà moi j'ai besoin d'une chaine(ch) pour avoir une autre qui soit son inverse, et que celle là (ch) est un element dans un tableau confused
¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1427
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 methodiX le Lun 24 Mar - 22:35

Code:
string[30];


c'est pour dire qu'une String est composé uniquement de 30 caractères et non pas de 256 comme d'habitude.
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 Gda le Lun 24 Mar - 23:06

Désoler de m'interposé, mais je n'ai pas compris à quoi sert ce programme ??

Gda
Modérateur
Modérateur

Sexe:MasculinSagittaireChèvre
Messages : 254
Inscrit le : 24 Mar 2008
Age : 16
Localisation : Assis derrière son ordinateur !

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

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par methodiX le Lun 24 Mar - 23:07

Gda.exe a écrit:Désoler de m'interposé, mais je n'ai pas compris à quoi sert ce programme ??


Relis attentivement l'énoncé de l'exercice.
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 Gda le Lun 24 Mar - 23:12

Désoler...

J'aimerai savoir comment et où trouver un document expliquant d'avantage la programmation, parce que là, je ne comprend pas entièrement le code !

Gda
Modérateur
Modérateur

Sexe:MasculinSagittaireChèvre
Messages : 254
Inscrit le : 24 Mar 2008
Age : 16
Localisation : Assis derrière son ordinateur !

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

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par lamia le Lun 24 Mar - 23:20

methodiX a écrit:
Code:
string[30];


c'est pour dire qu'une String est composé uniquement de 30 caractères et non pas de 256 comme d'habitude.


Ok.
Je vais essayer de faire ce que Nabil a proposé.

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1427
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 lamia le Lun 24 Mar - 23:24

Gda.exe a écrit:Désoler...

J'aimerai savoir comment et où trouver un document expliquant d'avantage la programmation, parce que là, je ne comprend pas entièrement le code !


Y a une rubrique qui comporte des cours dans le language PASCAL pour comprendre ce code : http://infomath.online-talk.net/cours-pascal-f27/, vous pouvez commencer à avoir une idée à travers cette documentation fourni.
y a meme des exemples traités pour vous aider encore un peu pour comprendre.

lamia
Admin
Admin

Sexe:FémininViergeTigre
Messages : 1427
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 Gda le Lun 24 Mar - 23:25

Merci !!

Gda
Modérateur
Modérateur

Sexe:MasculinSagittaireChèvre
Messages : 254
Inscrit le : 24 Mar 2008
Age : 16
Localisation : Assis derrière son ordinateur !

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

Revenir en haut Aller en bas

Re: Inverse d'elements d'un tableau

Message par lamia le Lun 24 Mar - 23:33

Gda.exe a écrit:Merci !!

avec plaisir.

lamia
Admin
Admin

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

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

Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivante

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