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

 Delphi Discussion :

Move de tableaux


Sujet :

Delphi

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Move de tableaux
    Bonjour,

    Soit le morceau de code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    type taborig   = array[0..6] of longint ;
    tabcop           :  tab ;
    move (taborig,tabcop,28) ;
    Peu familiarisé avec le langage C je souhaite comprendre ce que fait le "move".
    Je crois comprendre qu'il copie taborig dans tabcop mais je ne saisi pas le rôle de "28".

    Je crois comprendre également que la déclaration: tabcop : tab ;
    crée un tableau de même caractéristiques que taborig.

    Merci.

  2. #2
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Points : 4 637
    Points
    4 637
    Par défaut
    Citation Envoyé par besut Voir le message
    Soit le morceau de code suivant:

    type taborig = array[0..6] of longint ;
    tabcop : tab ;
    move (taborig,tabcop,28) ;
    Ce n'est pas du C.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Move de tableaux
    Désolé, alors je ne sais pas ce que c'est.

    Merci.

  4. #4
    Membre régulier Avatar de Neolander
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Points : 87
    Points
    87
    Par défaut
    Citation Envoyé par besut Voir le message
    Bonjour,

    Soit le morceau de code suivant:

    type taborig = array[0..6] of longint ;
    tabcop : tab ;
    move (taborig,tabcop,28) ;

    Peu familiarisé avec le langage C je souhaite comprendre ce que fait le "move".
    Je crois comprendre qu'il copie taborig dans tabcop mais je ne saisi pas le rôle de "28".

    Je crois comprendre également que la déclaration: tabcop : tab ;
    crée un tableau de même caractéristiques que taborig.

    Merci.
    Ton code ressemble beaucoup à du pascal, mais il y a des choses qui ne collent pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    type taborig   = array[0..6] of longint ;
    Cette ligne définit le type taborig comme étant un tableau de 7 entiers longs. En pascal, ce serait parfaitement correct.

    Cette ligne ressemble à la définition d'un objet tabcop de type tab (la définition du type tab n'est pas présente dans ton bout de code, mais c'est vraisemblablement un tableau). Sauf que quelque chose ne colle ne colle pas : en pascal, on doit normalement avoir le mot "var" avant de déclarer une variable.
    Une syntaxe qui conviendrait serait que taborig soit un objet et tabcop un champ de l'objet, mais dans ce cas, la ligne suivante entre en contradiction.
    Ca pourrait être du ADA, sauf qu'en ADA on définit pas les types comme ci-dessus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move (taborig,tabcop,28) ;
    1/En pascal, on met un begin entre la déclaration des variables et les instructions
    2/taborig est un type, pas une variable. Il est donc interdit de le passer en paramètre d'une fonction directement comme ça.
    3/On copie 28 éléments (je pense) de taborig à tabcop. taborig ne contient que 7 éléments. Ce code va donc planter.

    Je vais voir si je trouve un langage qui peut correspondre, mais avoir le source complet d'où tu as tiré ça m'aiderait beaucoup.
    A la première vue, ça ressemble plus à une blague d'informaticien de premier avril qu'à un vrai code ^^'

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Move de tableaux
    Il semble que ce soit en Delphi. Voici le code complet

    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
    type tabori           = array[0..6] of longint ;
     
    const signe        : string[4]  = '+-*/' ;
          nombres      : tab        = (963,25,5,4,3,3,1) ;
     
    var trouve,echange : boolean ;
        aa             : longint ;
        ii,jj          : integer ;
     
    procedure operations(var t : tabori ;max : integer) ;
    var i,j1,j2 : integer ;
        a       : longint ;
        tabcop  : tab ;
    begin
    for i:=1 to 4 do
        for j1:=1 to max-1 do
            for j2:=j1+1 to max do
                begin
                case i of
                   1 : a:=tabori[j1]+tabori[j2] ;
                   2 : a:=tabori[j1]-tabori[j2] ;
                   3 : a:=tabori[j1]*tabori[j2] ;
                   4 : begin
                       a:=tabori[j1] div tabori[j2] ;
                       if tabori[j2]*a<>tabori[j1] then a:=0 ;
                       end ;
                   end ;
                if a>0 then
                   begin
                   if a=t[0] then
                      begin
                        trouve:=true ;exit ;
                      end ;
                   move(tabori,tabcop,28) ;
                   tabcop[j1]:=a ;tabcop[j2]:=0 ;
                   repeat
                     echange:=false ;
                     for ii:=1 to max-1 do
                         if tabcop[ii]<tabcop[ii+1] then
                            begin
                            aa:=tabcop[jii] ;
                            tabcop[jii]:=tabcop[jii+1] ;
                            tabcop[jii+1]:=aa ;
                            echange:=true ;
                            end ;
                   until not echange ;
                   operations(t1,max-1) ;
                   if trouve then
                      begin
                      write(tabpri[j1],signe[i],tabpri[j2],'=',a) ;
                      Form1.ListBox1.Items.Add(inttostr(tabpri[j1])+signe[i]+inttostr(tabpri[j2])+'='+inttostr(a));
                      exit ;
                      end ;
                   end ;
                end ;
    end ;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
         Screen.Cursor:=crHourGlass;
         trouve:=false ;
         ListBox1.Clear;
         Application.ProcessMessages;
         operations(nombres,6) ;
         Screen.Cursor:=crDefault;
    end;

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/08/2003, 18h04
  2. free sur des tableaux "a moitié dynamiques"
    Par barthelv dans le forum C
    Réponses: 4
    Dernier message: 31/07/2003, 15h30
  3. [langage] erreurs utilisation tableaux 2 dimensions
    Par drosof dans le forum Langage
    Réponses: 11
    Dernier message: 01/07/2003, 11h44
  4. Réponses: 6
    Dernier message: 04/04/2003, 15h28
  5. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

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