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

Langage Pascal Discussion :

[LG]Déclaration d'un tableau.


Sujet :

Langage Pascal

  1. #21
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Euh oui, mais on va oublier les interruptions pour le moment ...

    Voilà ce que donne mon prog pour le moment :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    Program Gestion_Table;
    Uses Crt;
    Const taillemax = 20; anac = 2003; valcarnom ='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
     
    Type identite = Record
                      matricule : Integer;
                      nom : String[25];
                      datenais : Record
                                   annee : Integer;
                                   mois : Integer;
                                   jour : Integer;
                                 End;
                    End;
     
    Type tab = Array[0..taillemax] Of identite;
     
    Function lireentier(vmin, vmax : Integer): Integer;
    Var n, err, x, y : Integer; ch : String[7];
    Begin
         Repeat
           x:=Wherex; y:=Wherey;
           Readln(ch);
           Gotoxy(x,y); Clreol;
           Val (ch,n,err);
         Until (err=0) And (n<=vmax) And (n>=vmin);
         Writeln (n);
         lireentier:=n;
    End;
     
    Function lirenom(lgch : Integer): String;
    Var x, y : Integer; ch : String[25];
    Begin
         Repeat
           x:=Wherex; y:=Wherey;
           Readln(ch);
           Gotoxy(x,y); Clreol;
         Until (Length(ch)>=1) And (Length(ch)<=lgch) And (Pos(ch[1],valcarnom)>0);
         Writeln (ch);
         lirenom:=ch;
    End;
     
    Var personne : identite;
        table : tab;
        aa : Char;
        co, i, x, y : Integer;
     
    Begin
         co:=1; aa:=' ';
         Clrscr;
         Writeln ('Vous allez rentrer les fiches d''identite de personnes (max: ',taillemax,' )');
         Gotoxy(5,40);
         Writeln ('Frappez une touche pour continuer ...'); aa:=Readkey;
         Clrscr;
         [b]Writeln ('Personne : ',co);
         Writeln ('==============');
         Writeln;
         Write ('Matricule (1 - 2000) [0 => Fin de l''enregistrement] : ');
         personne.matricule:=lireentier(0,2000);
         While personne.matricule<>0 Do Begin
           Writeln;
           Write ('Nom : ');
           personne.nom:=lirenom(25);
           Writeln;
           Writeln ('Date de naissance');
           Writeln ('-----------------');
           Write ('Jour : ');
           With personne.datenais Do Begin
             jour:=lireentier(1,31);
             Write ('Mois : ');
             mois:=lireentier(1,12);
             Write ('Annee : ');
             annee:=lireentier(1900,anac);
           End;
           table[co]:=personne;
           Inc(co);
           If co<=taillemax Then Begin
             Clrscr;
             Writeln ('Personne : ',co);
             Writeln ('==============');
             Writeln;
             Write ('Matricule (1 - 2000) [0 => Fin de l''enregistrement] : ');
             personne.matricule:=lireentier(0,2000)
           End
                            Else personne.matricule:=0
         End;[/b]
         Dec(co);
         table[0].matricule:=-1;
         Clrscr;
         Writeln ('                     MENU');
         Writeln ('                     ====');
         Writeln;
         Writeln ('Pour afficher le contenu de la table ........... 1');
         Writeln ('Pour trier la table selon les matricules ....... 2');
         Writeln ('Pour trier la table selon les noms ............. 3');
         Writeln ('Pour trier la table selon l''age (decroissant) .. 4');
         Writeln ('Pour ajouter un element a la table ............. 5');
         Writeln ('Pour quitter le programme ...................... 6');
         Gotoxy(5,15);
         Write ('Faites votre choix : ');
         Repeat
           x:=wherex; y:=wherey;
           aa:=readkey;
           Gotoxy(x,y);
           Clreol;
         Until Pos (aa,'123456')>0;
         Case aa Of
         '1': Begin
                Clrscr;
                Writeln ('| Personne | Matricule |            Nom            | Date de naissance |');
                Writeln ('|----------------------------------------------------------------------|');
                Writeln ('|          |           |                           |                   |');
                For i:=1 to co Do Begin
                  With table[i] Do Begin
                    Write ('|',i:9,' | ',matricule:9,' | ',nom:25);
                    Writeln (' |        ',datenais.jour:2,'/',datenais.mois:2,'/',datenais.annee:4,' |');
                  End;
                End;
              End;
         '2': Begin
     
              End;
         '3': Begin
     
              End;
         '4': Begin
     
              End;
         '5': Begin
     
              End;
         End;
     
         Gotoxy(5,40);
         Writeln ('Frappez une touche pour finir ...'); aa:=Readkey
    End.



    J'aimerais à présent mettre la partie enregistrement dans une procédure mais pour passer tous les paramètres, c'est le big cafouillage !!
    Vous avez un petit conseil ?

  2. #22
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Ben tu as deux solutions :
    - soit tu fais un copier/coller de la partie du code qui t'intéresse et tu la mets dans une procédure...
    - soit tu fais un copier/coller de la partie du code qui t'intéresse et tu la mets dans une fonction...

    La version avec la fonction est préférable, je pense !

    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #23
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Hi ! 8)

    Encore une p'tite question pour vous :

    Est-ce que je peux faire un appel de fonction à partir d'un Until ? (pour tester la validité d'une entrée dans mon cas). Et dans l'affirmative, cette fonction pourrait-elle être du type Booleenne ?


    Merci


    N.B.: Tant que j'y suis, existe-t-il une commande intégrée d'origine qui retourne un caractère précis dans une chaîne ?

  4. #24
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Trop de questions tue la question...
    La boucle repeat ... until répète un bloc d'instruction jusqu'à ce que la condition d'arrêt soit vérifiée (la condition d'arrêt se trouve juste après le until, et est de type booléenne...). Donc tu peux utiliser une fonction qui retourne un booléen.
    Pour rappel, une chaîne de caractères est en fait un tableau de caractères, commencant à 1... Pour retourner un caractère dans une chaîne, deux solutions (vu que la question est pas très claire...) :
    -soit tu connais l'indice du caractère dans la chaîne, et là tu accèdes à ce caractère comme avec un tableau : par exemple, dans la chaîne S:='Salut', S[1]:='S' et S[4]:='u';
    -soit tu veux connaître la position de la première occurence d'un caractère dans la chaîne, et là il faut utiliser pos : par exemple, pos(S,'u') retourne 4 avec l'exemple précédent.

    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  5. #25
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Je pense que je vais employer la première méthode; ce que je désire en fait, c'est de vérifier la validité de caractères au sein d'une chaîne.
    Ex: "Est-ce que dans un nom entré au clavier, tous les carctères de ce nom sont permis par le programmateur (par ex je ne veux pas de chiffres ou de caractères accentuées) ?"

    Avec une boucle FOR, ca va être vite fait.
    Cependant, il doit être permis dans ce com d'avoir des espaces; dois-je travailler avec le code ASCII 32 ?

  6. #26
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Tu peux utiliser les ensembles pour tester ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var
      i: Byte;
     
    begin
    i := 1;
    while i <= Length(S) do
      begin
      if not (UpCase(S[i]) in ['A'..'Z', ' ']) then Delete(S, i, 1)
      else Inc(i);
      end;
    end;
    Ce code expurge la chaîne S de tous les caractères non alphabétiques.

    Histoire qu'il soit constructif ce code, je te mets deux nouvelles procédures, je pense, pour toi :

    UpCase sert à retrouver la majuscule d'un caratère donné (ex: UpCase('a') = 'A').
    Et Delete(S, i, n) sert à supprimer n caratères de la chaîne S à partir de la position i.

    A+

    PS: On dit programmeur, et non programmateur. Un programmateur, c'est ce que tu branches dans une prise pour qu'un appareil démarre à une heure donnée. Pas super la comparaison
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  7. #27
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Thanks pour les conseils !!!

  8. #28
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Bon, j'ai encore un petit bleme; je mets ci-dessous (en 2° ) la fct de lecture de nom et au dessus ( en 1°), celle qui teste la validité du nom. A priori ça a l'air bon mais quand je lance le programme, il refuse systématiquement le 1er nom que j'introduis (quel qu'il soit) et "plante" juste après... plus moyen de rentrer quoi que ce soit au clavier !
    Qu'est-ce qui se passe ???


    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
     
    1°
     
    Function testnom(ch1 : String): Boolean;
    Var i : Integer;
    Begin
         i:=1;
         testnom:=True;
         Repeat
           Inc(i);
           If Not(ch1[i] In ['A'..'Z','a'..'z',' ','-']) Then testnom:=False;
         Until (testnom(ch1)=False) Or (i=Length(ch1));
    End;
     
     
    2° 
     
    Function lirenom(lgch : Integer): String;
    Var x, y : Integer; ch : String[25];
    Begin
         Repeat
           x:=Wherex; y:=Wherey;
           Readln(ch);
           Gotoxy(x,y); Clreol;
         Until (Length(ch)>=1) And (Length(ch)<=lgch) And testnom(ch)=True;
         Writeln (ch);
         lirenom:=ch;
    End;

  9. #29
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Bon, ben ton algo il est faux déjà. Teste un peu à la main ta fonction TestNom.

    Tu mets i à 1, puis tu rentres dans la boucle et tu incrémentes i. Donc le premier caractère testé est le 2ème. Dans mon exemple, j'avais une boucle while. Si tu veux utiliser une boucle repeat, soit. Mais il faut changer quelques trucs alors.

    Ensuite, ENORME ERREUR (j'me lâche un peu là ).

    As-tu déjà utilisé le mode pas-à-pas ? Parce que dans ce cas, tu aurais tout de suite vu le problème.

    Bon, si tu laisses tourner un peu ton prog, il va planter en erreur 202. On parie ?

    Ca vient du fait que tu as tranformé une simple fonction en fonction récursive : elle s'appelle elle-même ! En soit, ce n'est pas bien méchant. Sauf quand c'est pas ce qu'on veut faire !

    Regarde bien ta condition de sortie pour le until : tu fais un appel à TestNom. Or, toi, tu veux juste tester la valeur que tu vas attribuer à TestNom. Dans ce cas, soit tu te casses de ta boucle au moment opportun, avec Exit. Soit tu utilises une variable (tu peux l'appeler Result, comme ça quand tu passeras à Delphi, tu seras pas dépaysé).

    Ca donnerait un peu ça, en utilisant ta méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function TestNom(S: string): Boolean;
    var
      Result: Boolean;
      i: Byte;
    begin
    Result := True;
    i := 1;
    repeat
    if not (S[i] in ['A'..'Z', 'a'..'z', ' ', '-']) then Result := False;
    Inc(i);
    until (not Result) or (i > length(S));
    TestNom := Result;
    end;
    Il y a un moyen simple de vérifier qu'on ne s'est pas planté dans un cas comme le tiens : si on ne veut pas faire de récursif, alors il ne faut jamais donner de paramètres à notre fonction :

    TestNom : Ok
    TestNom(S) : Pas Ok !!!

    Remarques en guise de cadeau de Noël :

    1. Evite d'utiliser un nom comme "ch" pour une chaîne de caractères. "ch" est plus utilisé pour "Char". Pour les chaînes, c'est plutôt "S" comme "string".
    Je ne sais pas quel niveau tu as, mais imagine un peu un problème de physique où toutes les intensités seraient notées U et les tensions i. Tu serais un peu dans la m...

    2. Inutile de rajouter les "= True" : c'est sous-entendu, et ça allourdi le code. De même, au lieu de "= False", pense au "not" (cf le code source ci-dessus)

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  10. #30
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Decidement, vous êtes tous des cracks ... (vous êtes profs ou quoi ???)
    Effectivement, je n'ai pas fait attention à la récursivité (ça amène à un débordement de pile ça ?). Note que j'avais bien pensé à utiliser une variable locale (comme Result) mais je préférais faire plus simple pour ne pas charger encore une nouvelle variable.

    Pour le "ch", c'est parce que notre prof travaille ainsi donc,... nous aussi (ch=>chaine).

    Par contre, je ne saisis pas trop ce que tu racontes à propos de True et False ... (Not result équivaudrait à result=False ?)

    En fait, c'est une bonne chose de tomber sur ces différents couacs; c'est une bonne façon d'apprendre (en tous cas plus efficace que d'étudier betement ce qu'est "un effet de bord", la récursivité,...)

    Merci pour la patience.
    [/b]

  11. #31
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    L'utilisation abusive de la récursivité entraîne effectivement un débordement de pile, et c'est pas beau à voir...
    En ce qui concerne les expressions de type booléennes, on peut occulter le test de comparaison : if result then .... correspond à if result=true then... et if not result then... correspond à if result=false then... Le compilateur compare toujours avec la valeur true.
    En ce qui concerne ton prof, tu n'es pas obligé de l'écouter tout le temps... Comme l'a dit HDD34, on utlise ch pour Char et s pour des chaînes de caractères !

    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  12. #32
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Oui je sais que je suis libre lol !

    Mais bon, comme je débute, vaut mieux se ranger aux instructions données (question de principe). Plus tard, quand je me sentirai plus à l'aise (j'espère ...) dans la prog, je prendrai mes habitudes personnelles.

  13. #33
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Bah, j'ai juste dit ça pour les chaînes parce qu'en première lecture rapide, je me susi fait avoir (question d'habitude) : je ne comprenais pas pourquoi tu parcourais un Char, c'était très louche.
    D'où la deuxième lecture

    Et puis après tout, n'oubliooons pas que le Pascal se prog en anglais, comme 99% des langages (je dis pas 100%, on sait jamais...). Et c'est vrai que voir un prog en Franglish, ça m'horripile un peu (c'est peut-être our ça que j'ai jamais pu me faire aux progs d'Haypo, ou aux librairies graphiques du genre "AfficherPoint" ou "RemplirRectangle"...).

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  14. #34
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Si je peux me permettre d'encore poser une question (car en fait, vos explications sont nettement plus claires que mes cours abstraits).

    A propos des tris:

    A partir de quand doit-on utiliser le système des clés pour faire un tri dans une table ? Est-ce nécessaire pour tous le types de tris (sélection, insertion, quicksort,...) ?

    Et pour la technique des clés en elle-même, est-ce que j'ai bien compris si je dis que ça se fait en 2 étapes:
    - 1°) On crée la clé (qui est du type record)
    - 2 °) On redéfinit l'élément de départ (aussi un record) en lui rajoutant sa clé (créée en 1°).

    Merci !

  15. #35
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Le principe des clefs ??? Tu m'apprends quelque chose là...

    Va falloir que tu m'expluqes plus en détail la chose, parce que là j'ai pas tout capté. Chque de type de tri est particulier et ne se fait pas de la même manière. Peut-être existe-t-il une méthode très générale pour les tris, mais il faut vite rentrer dans le particulier pour avoir quelque chose de fonctionnel.

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  16. #36
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Je retape texto ce qui est marqué dans mon cours :

    Soient les déclarations :

    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
    Const i_min=1; i_max=200;
     
    Type    indices=1_min-1..i_max+1;
     
            Str25=String[25]; Str31=String[31];
     
            elements=Record
               prenom: Str25;
               nom: Str25;
               adresse: Str31;
               localite: Str25;
               code_postal: Integer;
            End;
     
            cles=Record
               code_postal: Integer;
               nom: Str25;
               prenom: Str25;
            End;
     
            Table=Array[indices] Of elements
     
    Var i, bas, haut: indices;
        t: table;
    Les fonctions "cle" et "complet" doivent s'écrire sous forme de procédures, telles que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Procedure calcul_cle(x: elements; Var result: cles);
    Begin
           result.code_postal:=x.code_postal;
           result.nom:=x.nom; result.prenom:=x.prenom
    End;
     
    Procedure complete(c: cles; Var result: elements);
    Begin
           With result Do Begin
             prenom:=c.prenom; nom:=c.nom;
             adresse:=' '; localite:=' ';
             code_postal:=c.code_postal
           End;
    End;
    Voilà, moi c'est ce que j'en ai compris ...
    Je me demande si les cles servent uniquement pour faire des recherches (dans des tableaux non-triés) ou si c'est également nécessaire pour effectuer des tris (et dans ce cas-là, lesquels ...)

  17. #37
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Ben moi aussi j'avoue que j'ai pas tout compris...
    Tu dois trier des éléments des types Elements ou de type Clés ? Le type clés reprends des attributs de Elements, mais c'est pas super clair.....


    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

Discussions similaires

  1. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 16h51
  2. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  3. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21
  4. transmision de tableau en parametre
    Par Horus dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2002, 11h15
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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