Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-17%
Le deal à ne pas rater :
(Black Friday) Apple watch Apple SE GPS + Cellular 44mm (plusieurs ...
249 € 299 €
Voir le deal

Inverse d'elements d'un tableau

5 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

Inverse d'elements d'un tableau Empty Inverse d'elements d'un tableau

Message par lamia Dim 23 Mar - 14: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
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par methodiX Dim 23 Mar - 15:55

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

Masculin
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 7254
Date d'inscription : 22/03/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue1000/1000Inverse d'elements d'un tableau Empty_bar_bleue  (1000/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par lamia Dim 23 Mar - 16: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
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par Napoléon Lun 24 Mar - 16: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.

@+
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7872
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue999/1000Inverse d'elements d'un tableau Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par lamia Lun 24 Mar - 16: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:
Inverse d'elements d'un tableau Sans_t10
lamia
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par Napoléon Lun 24 Mar - 19:14

Essaie de déclarer autrement le tableaux de String:

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

ça donne quoi?
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7872
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue999/1000Inverse d'elements d'un tableau Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par lamia Lun 24 Mar - 20: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
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par methodiX Mar 25 Mar - 0: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.
methodiX
methodiX
Admin
Admin

Masculin
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 7254
Date d'inscription : 22/03/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue1000/1000Inverse d'elements d'un tableau Empty_bar_bleue  (1000/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par Gda Mar 25 Mar - 1:06

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

Masculin
Nombre de messages : 254
Age : 32
Localisation : Assis derrière son ordinateur !
Réputation : 0
Points : 6088
Date d'inscription : 24/03/2008

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue995/1000Inverse d'elements d'un tableau Empty_bar_bleue  (995/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par methodiX Mar 25 Mar - 1: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.
methodiX
methodiX
Admin
Admin

Masculin
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 7254
Date d'inscription : 22/03/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue1000/1000Inverse d'elements d'un tableau Empty_bar_bleue  (1000/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par Gda Mar 25 Mar - 1: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
Gda
Modérateur
Modérateur

Masculin
Nombre de messages : 254
Age : 32
Localisation : Assis derrière son ordinateur !
Réputation : 0
Points : 6088
Date d'inscription : 24/03/2008

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue995/1000Inverse d'elements d'un tableau Empty_bar_bleue  (995/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par lamia Mar 25 Mar - 1: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
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par lamia Mar 25 Mar - 1: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 : https://infomath.1fr1.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
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par Gda Mar 25 Mar - 1:25

Merci !!
Gda
Gda
Modérateur
Modérateur

Masculin
Nombre de messages : 254
Age : 32
Localisation : Assis derrière son ordinateur !
Réputation : 0
Points : 6088
Date d'inscription : 24/03/2008

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue995/1000Inverse d'elements d'un tableau Empty_bar_bleue  (995/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par lamia Mar 25 Mar - 1:33

Gda.exe a écrit:Merci !!
avec plaisir.
lamia
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par lamia Mar 25 Mar - 1: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
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par Napoléon Mar 25 Mar - 10: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];
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7872
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue999/1000Inverse d'elements d'un tableau Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par lamia Mar 25 Mar - 13:46

ca marche pas meme en declarant ainsi le type tab confused
lamia
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par Napoléon Mar 25 Mar - 17:04

je vais voir le soir !
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7872
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue999/1000Inverse d'elements d'un tableau Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par manianis Mar 25 Mar - 23: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
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6255
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue999/1000Inverse d'elements d'un tableau Empty_bar_bleue  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par methodiX Mar 25 Mar - 23:46

Qu'est-ce qui a été modifié par rapport à la solution de début?
methodiX
methodiX
Admin
Admin

Masculin
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 7254
Date d'inscription : 22/03/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue1000/1000Inverse d'elements d'un tableau Empty_bar_bleue  (1000/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par lamia Mer 26 Mar - 0: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 Mer 26 Mar - 0:12, édité 1 fois
lamia
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par manianis Mer 26 Mar - 0:03

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

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

ne fait rien.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6255
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue999/1000Inverse d'elements d'un tableau Empty_bar_bleue  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par methodiX Mer 26 Mar - 0:09

ah d'accord Smile

merci bien manianis. Il faut faire attention!
methodiX
methodiX
Admin
Admin

Masculin
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 7254
Date d'inscription : 22/03/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue1000/1000Inverse d'elements d'un tableau Empty_bar_bleue  (1000/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par lamia Mer 26 Mar - 0: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
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6801
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Inverse d'elements d'un tableau Left_bar_bleue996/1000Inverse d'elements d'un tableau Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Inverse d'elements d'un tableau Empty Re: Inverse d'elements d'un tableau

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut

- Sujets similaires

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