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

C++ Discussion :

traduction java en c++


Sujet :

C++

  1. #1
    Membre confirm�
    Inscrit en
    Janvier 2009
    Messages
    54
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 54
    Par d�faut traduction java en c++
    salut � tous,
    je m'excuse pour ma question je sais qu'elle est imb�cile mais je suis encore d�butante en c++. j'ai un programme en java et je souhaite le traduire en c++. l'instruction que je ne connais pas comment la traduire est la suivante :
    point [][]mat=new point[15][15];
    j'ai d�clar� une classe point amie d'une classe matrice et je souhaite remplir la matrice par des points mais j'ai pas r�ussi � �tablir une liaison entre la classe point et matrice.
    merci d'avance

  2. #2
    Membre Expert
    Avatar de m�phistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par d�faut
    heu, peut-on voir la classe matrice ?

    par-ce que sinon, je pense que cette instruction (s'il y a vraiment "point[15][15]" et non "point[n][n]" o� n est une variable) peut se traduire comme ceci:dans ce cas, tu aura une matrice de points 15 15 dans un tableau local

    tu peux aussi de mani�re plus g�n�rale faire:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    point** mat=new point*[n];
    for (int i=0;i<n;++i)
       mat[i]=new point[n]
    (avec n quelconque)
    Attention ! Dans ce dernier cas, il ne faut pas oublier de d�truire la variable dynamiquement cr��e � un moment par
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    for(int i=0;i<n;++)
       //on désalloue les colonnes de mat
       delete mat[i];
    //puis on désalloue la première ligne
    delete mat;

    Rermarque: une solution "plus C++" serait d'utiliser la classe std::vector (dans le second cas) ou boost::array (dans le premier).

    sinon, ton post a plus sa place dans la section d�buter � mon avis.

    Bonne chance

    EDIT: j'ai modifi� le code de cr�ation dynamique, je sait pas ce que j'avais bu ce jour l� ><

  3. #3
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Citation Envoy� par m�phistopheles Voir le message
    tu peux aussi de mani�re plus g�n�rale faire:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    point** mat=new point[n][n];
    (avec n quelconque)
    Attention ! Dans ce dernier cas, il ne faut pas oublier de d�truire la variable dynamiquement cr��e � un moment par
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    for(int i=0;i<n;++)
       //on désalloue les colonnes de mat
       delete mat[i];
    //puis on désalloue la première ligne
    delete mat;
    Attention, si on part dans cette direction, tout comme il faut faire une boucle pour d�sallouer, il faut en faire une pour allouer.

    a part �a, il existe en C++ des classes toutes faites de matrice. Si le programme est un peu cons�quent, �a peut �tr eune option � envisager.
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  4. #4
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    point** mat=new point[n][n];
    �a, �a risque pas de compiler...

    D�j�, new point[n][n] ne compilera que si n est connu � la compilation. Ensuite, le type de retour sera point(*)[n], et non point**.

    Et si �a compilait, ce serait de toutes mani�res une tr�s mauvaise id�e pour repr�senter une matrice.

Discussions similaires

  1. R�ponses: 6
    Dernier message: 06/09/2012, 16h24
  2. Traduction java bytecode en assembleur
    Par etiennep dans le forum G�n�ral Java
    R�ponses: 3
    Dernier message: 18/12/2007, 18h45
  3. Traduction Java -> Fortran
    Par pierr dans le forum Fortran
    R�ponses: 1
    Dernier message: 28/03/2007, 21h40
  4. traduction java ==> javascript
    Par tibwen dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 09/12/2005, 09h23

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