IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Pascal Discussion :

Initialisation,opérations sur éléments d'un tableau


Sujet :

Pascal

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 64
    Points
    64
    Par défaut Initialisation,opérations sur éléments d'un tableau
    Bonjour,
    Je cherche en vain la manière de faire pour vider un tableau de type integer.
    J'en profite pour demander aussi la manière de vider un tableau de type char.

    Je vous remercie de votre aide.

  2. #2
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut re:bonjour
    Tous d'abord est ce un tableau dynamique ou statique?
    deuxièmement t'entend quoi par vider?
    généralement on initialise un tableau à une valeur qu'on a choisi pour définir si une case est vide (exemple -1 ) généralement c'est une valeur que tu va pas utiliser dans ton programme.
    donc
    //tableau d'entier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure vider(tab:tableau);
    var 
       i:integer;
    begin
      for i:=1 to N do tab[i]:=-1;
    end;
    //tableau de char
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure vider(tab:tableau);
    var
       i:integer;
    begin
      for i:=1 to N do tab[i]:='#";
    end;
    voila en espérant t'avoir aider un peu
    cordialement @+
    et vint le 20siècle et l'homme se mit à réflechir comme la machine auteur: diden138
    Langage: Pascal,OCaml,Delphi,c/c++.
    Langages web:Xhtml,Css,Php/Mysql,Javascript,Actionscript 2.0
    Plate forme:Windows XP Pro SP2./Red Hat 9.0/SUSE 10.2
    Config :Intel P4 3.2GHZ,2MO cach,512 RAM.
    Outils:Tp7,objective caml,Delphi 6 perso, C++builder 6,Visual C++ Express edition sous win,code-block sous linux(Ubuntu) .

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 64
    Points
    64
    Par défaut
    Merci de votre réponse rapide,

    Il s'agit d'un tableau statique.

    Le tableau a 9 éléments.
    Les 8 premiers éléments ont des valeurs fixes.
    Le neuvième élément doit changer à chaque passage d'une boucle.

    Le problème est qu'à chaque boucle la valeur du 9° élément est indéboulonnable. Voici ce que cela donne si je teste mon programme :

    Les 8 valeurs fixes sont 1, 2, 3, 4, 5, 6, 7, 8
    La 9° valeur doit être 9 à la première boucle, 10 à la deuxième, 11 à la troisième, etc.


    Je souhaite obtenir :

    1 2 3 4 5 6 7 8 9
    1 2 3 4 5 6 7 8 10
    1 2 3 4 5 6 9 8 11

    Or j'obtiens :

    1 2 3 4 5 6 7 8 9
    1 2 3 4 5 6 7 9 10
    1 2 3 4 5 6 9 10 11

    Je pense alors que le tableau conserve la valeur introduite à la boucle précédente. J'imagine donc de vider ce 9° élément à la reprise de chaque boucle avant d'insérer la nouvelle valeur.

  4. #4
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut re:bonjour
    ah oké non je pense que c'est plutôt un problème d'implémentation montre moi ta boucle ?
    une solution peut être ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    program dev;
    var
     tab:array[1..9]of integer;
     i    :integer;
    begin
    for i:=1 to 9 do tab[i]:=i;// initialisation
    for i:=1 to 3 do tab[9]:=tab[9]+1;
    end;
    cordialement @+
    et vint le 20siècle et l'homme se mit à réflechir comme la machine auteur: diden138
    Langage: Pascal,OCaml,Delphi,c/c++.
    Langages web:Xhtml,Css,Php/Mysql,Javascript,Actionscript 2.0
    Plate forme:Windows XP Pro SP2./Red Hat 9.0/SUSE 10.2
    Config :Intel P4 3.2GHZ,2MO cach,512 RAM.
    Outils:Tp7,objective caml,Delphi 6 perso, C++builder 6,Visual C++ Express edition sous win,code-block sous linux(Ubuntu) .

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 64
    Points
    64
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    program tableau ;
    uses wincrt;
    var
    tablon : array[1..9] of integer;
    i : integer;
    k: integer;
    begin
     
    clrscr ;                              
     
    tablon[1] : = 1;
    tablon[2] : = 2;
    tablon[3] : = 3;
    tablon[4] : = 4;
    tablon[5] : = 5;
    tablon[6] : = 6;
    tablon[7] : = 7;
    tablon[8] : = 8;
     
    {----- ajouter tour à tour un nombre nouveau -----}
    k := 9;
    while k < 20 do
        begin
            tablon[9] := k;
     
    {-----afficher-----}
    writeln(' ');
    for i := 1 to 9 do
    write(' - ',tablon[i]);
    k := k+1;
    end;
     
    end.

  6. #6
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut re:bonjour
    c'est ce que je pensais
    ton code nétoyé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    program tableau ;
    var
    tablon : array[1..9] of integer;
    i : integer;//un indice suffit
    begin
    for i:=1 to 9 do tablon[i]:=i;//initialisation du tableau
    while tablon[9]<=20 do
                                 begin 
                                   tablon[9]:=tablon[9]+1;
                                   writeln(tablon[9]);
                                 end;
    end.
    cordialement @+
    et vint le 20siècle et l'homme se mit à réflechir comme la machine auteur: diden138
    Langage: Pascal,OCaml,Delphi,c/c++.
    Langages web:Xhtml,Css,Php/Mysql,Javascript,Actionscript 2.0
    Plate forme:Windows XP Pro SP2./Red Hat 9.0/SUSE 10.2
    Config :Intel P4 3.2GHZ,2MO cach,512 RAM.
    Outils:Tp7,objective caml,Delphi 6 perso, C++builder 6,Visual C++ Express edition sous win,code-block sous linux(Ubuntu) .

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 64
    Points
    64
    Par défaut
    J'ai simplifié mon programme pour vous le présenter et je vois que, simplifié, il fonctionne. J'en conclus que le problème n'est pas dans cette boucle mais ailleurs dans mon programme complet. Je vais réétudier la question. Si je ne trouve pas je vous présenterai mon programme complet.

    Quoi qu'il en soit je vous remercie déjà infiniment pout votre aide.

  8. #8
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut re:bonjour
    ben on est là et j'espère que ton problème est résolu si ce n'est pas le cas on est la n'hésite pas c'est comme ça chez dev
    cordialement @+
    et vint le 20siècle et l'homme se mit à réflechir comme la machine auteur: diden138
    Langage: Pascal,OCaml,Delphi,c/c++.
    Langages web:Xhtml,Css,Php/Mysql,Javascript,Actionscript 2.0
    Plate forme:Windows XP Pro SP2./Red Hat 9.0/SUSE 10.2
    Config :Intel P4 3.2GHZ,2MO cach,512 RAM.
    Outils:Tp7,objective caml,Delphi 6 perso, C++builder 6,Visual C++ Express edition sous win,code-block sous linux(Ubuntu) .

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 64
    Points
    64
    Par défaut
    Tout marche à merveille. merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Clic sur élément d'un tableau
    Par miroufle dans le forum Android
    Réponses: 12
    Dernier message: 25/07/2011, 14h23
  2. Pointeur sur élément d'un tableau multidimensionnel
    Par Blustuff dans le forum Langage
    Réponses: 5
    Dernier message: 12/05/2011, 01h16
  3. Réponses: 0
    Dernier message: 29/05/2009, 12h47
  4. Réponses: 1
    Dernier message: 20/03/2008, 15h02
  5. [VB6]opération sur un tableau complet en une seule fois?
    Par marco62118 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 24/05/2006, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo