//Headers
#ifndef FENCC_H
#define FENCC_H
#include <QtGui>
{
public:
    FenCC 
( QWidget *parent , 
int [10][10]);
private:
private slots:
};
#endif
 
 
 
#ifndef FENPRINCIPALE_H
#define FENPRINCIPALE_H
#include <QtGui>
class FenPrincipale 
: public QWidget{
    Q_OBJECT
public:
    FenPrincipale();
 
private slots:
    void genererCC(int [10][10]);
 
private:
    int M[10][10] ;
 
};
#endif
 
 
 
//////FenCC.cpp
#include "FenCC.h"
{
 paintEvent(c,M);
 connect(fermer, SIGNAL(clicked()), this, SLOT(accept()));
 
}
{
 int  tour=0;
 int x=10;
 int y=10;
 int Num_Sommet=0;
 int T_Coordonnees [10][3];
 for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
  {
   (T_Coordonnees[Num_Sommet][0])=x;
   (T_Coordonnees[Num_Sommet][1])=y;
   (T_Coordonnees[Num_Sommet][2])=tour;
   if (tour==0)
    {
     x+=35;
     tour=1;
    }
   else
    {
     y+=55;
     tour=0;
    }
   }
  int w1=0;
  int w2=0;
  int cpt=10;
  Num_Sommet=0;
 for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
  {
    if ( (T_Coordonnees[Num_Sommet][2])==1)
    {
     if(w1==0)
       {
        (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+500) ;
        w1=1;
       }
      else
       {
        if(w1==1)
        {
         (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+250+cpt) ;
          w1=0;
          cpt=cpt+15;
        }
       }
    if (Num_Sommet==9)
     {
       (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
     }
 
    }
   else
    {
     if(w2==0)
       {
        (T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+200;
         w2=1;
       }
     else
       {
        (T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+100+cpt;
         w2=0;
         cpt=cpt+15;
       }
     if (Num_Sommet==4)
      {
        (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
      }
    }
   painter.drawEllipse((T_Coordonnees[Num_Sommet][0]), (T_Coordonnees[Num_Sommet][1]), 30.0, 30.0);
  }
int i,j;
for (i=0; i<10; i++)
{
 for (j=0; j<10; j++)
  {
   if (M[i][j]==1)
    {
     painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
    }
  }
}
 for (i=0; i<10; i++)
  {
   for (j=0; j<10; j++)
    {
     if ((M[i][j]==1) &&  (M[j][i]==1))
      {
       painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
       if(  (T_Coordonnees[i][1]>45)||(T_Coordonnees[j][1]>45)  )
         {
          painter.drawLine(((T_Coordonnees[i][0]+20)-10),(T_Coordonnees[i][1]),((T_Coordonnees[j][0]+20)-10),(T_Coordonnees[j][1]));
         }
       else
         {
          painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]+30),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]+30));
         }
      }
    }
  }
 Num_Sommet=0;
 for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
 {
  QPoint point 
= QPoint( (((T_Coordonnees
[Num_Sommet
][0])+15)), 
((T_Coordonnees
[Num_Sommet
][1])+15) );
   str.setNum(Num_Sommet);
  painter.drawText( point,str);
 }
}
 
///////FenPrincipale.cpp
#include "FenPrincipale.h"
#include "FenCC.h"
FenPrincipale::FenPrincipale()
{   int o,p;
    int M [10][10];
    for (o=0; o<10; o++)
    {
 
      for (p=0; p<10; p++)
        {
          M[o][p]=0;
        }
    }
    M[0][3]=1;
    M[0][9]=1;
    M[2][6]=1;
    M[3][5]=1;
    M[5][3]=1;
    M[2][4]=1;
    M[4][2]=1;
    paintEvent(e,M);
    connect(generer, SIGNAL(clicked()), this, SLOT(genererCC(M)));
}
void FenPrincipale::genererCC(int M[10][10])
{
  FenCC *fenetreCC = new FenCC( this , M);
  fenetreCC->exec();
}
void FenPrincipale
::paintEvent(QPaintEvent *e, 
int M
[10][10]) {
 int  tour=0;
 int x=10;
 int y=10;
 int Num_Sommet=0;
 int T_Coordonnees [10][3];
    for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
    {
      (T_Coordonnees[Num_Sommet][0])=x;
      (T_Coordonnees[Num_Sommet][1])=y;
      (T_Coordonnees[Num_Sommet][2])=tour;
      if (tour==0)
        {
         x+=35;
         tour=1;
        }
        else
        {
         y+=55;
         tour=0;
        }
     }
 int w1=0;
 int w2=0;
 int cpt=10;
 Num_Sommet=0;
   for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
   {
    if ((T_Coordonnees[Num_Sommet][2])==1)
        {
          if(w1==0)
            {
              (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+500) ;
               w1=1;
            }
          else
            {
              if(w1==1)
                {
                 (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+250+cpt) ;
                  w1=0;
                  cpt=cpt+15;
                }
            }
          if (Num_Sommet==9)
            {
                (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
            }
 
        }
        else
        {
            if(w2==0)
            {
                (T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+200;
                w2=1;
            }
            else
            {
                (T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+100+cpt;
                w2=0;
                cpt=cpt+15;
            }
 
            if (Num_Sommet==4)
            {
                (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
            }
        }
        painter.drawEllipse((T_Coordonnees[Num_Sommet][0]), (T_Coordonnees[Num_Sommet][1]), 30.0, 30.0);
 
 
    }
 
    int i,j;
    for (i=0; i<10; i++)
    {
        for (j=0; j<10; j++)
        {
            if (M[i][j]==1)
            {
                painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
            }
        }
    }
 
 
 
    for (i=0; i<10; i++)
    {
        for (j=0; j<10; j++)
        {
            if ((M[i][j]==1) &&  (M[j][i]==1))
            {
                painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
                if(  (T_Coordonnees[i][1]>45)||(T_Coordonnees[j][1]>45)  )
                {
                    painter.drawLine(((T_Coordonnees[i][0]+20)-10),(T_Coordonnees[i][1]),((T_Coordonnees[j][0]+20)-10),(T_Coordonnees[j][1]));
                }
                else
                {
                    painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]+30),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]+30));
                }
            }
        }
    }
 
 
 
    Num_Sommet=0;
    for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
    {
        QPoint point 
= QPoint( (((T_Coordonnees
[Num_Sommet
][0])+15)), 
((T_Coordonnees
[Num_Sommet
][1])+15) );
         str.setNum(Num_Sommet);
        painter.drawText( point,str);
 
    }
}
 
 
//////////////main.cpp
 
#include <QApplication>
#include "FenPrincipale.h"
int main(int argc, char* argv[])
{
FenPrincipale fenetre;
fenetre.show();
return app.exec();
}
        //Headers
#ifndef FENCC_H
#define FENCC_H
#include <QtGui>
class FenCC : public QDialog
{
public:
    FenCC ( QWidget *parent , int [10][10]);
private:
    QPushButton *fermer;
    QPainter *painter;
private slots:
    void paintEvent (QPaintEvent *, int [10][10]);
};
#endif
#ifndef FENPRINCIPALE_H
#define FENPRINCIPALE_H
#include <QtGui>
class FenPrincipale : public QWidget
{
    Q_OBJECT
public:
    FenPrincipale();
private slots:
    void genererCC(int [10][10]);
    void paintEvent(QPaintEvent *,int [10][10]);
private:
    QPainter *painter;
    int M[10][10] ;
    QPushButton *generer;
};
#endif
//////FenCC.cpp
#include "FenCC.h"
FenCC::FenCC( QWidget *parent = 0 , int M[10][10]) :QDialog(parent)
{
 QPaintEvent *c;
 paintEvent(c,M);
 fermer = new QPushButton("Fermer",this);
 connect(fermer, SIGNAL(clicked()), this, SLOT(accept()));
}
void FenCC::paintEvent(QPaintEvent *c ,int M[10][10])
{
 QPainter painter(this);
 int  tour=0;
 int x=10;
 int y=10;
 int Num_Sommet=0;
 int T_Coordonnees [10][3];
 for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
  {
   (T_Coordonnees[Num_Sommet][0])=x;
   (T_Coordonnees[Num_Sommet][1])=y;
   (T_Coordonnees[Num_Sommet][2])=tour;
   if (tour==0)
    {
     x+=35;
     tour=1;
    }
   else
    {
     y+=55;
     tour=0;
    }
   }
  int w1=0;
  int w2=0;
  int cpt=10;
  Num_Sommet=0;
 for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
  {
    if ( (T_Coordonnees[Num_Sommet][2])==1)
    {
     if(w1==0)
       {
        (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+500) ;
        w1=1;
       }
      else
       {
        if(w1==1)
        {
         (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+250+cpt) ;
          w1=0;
          cpt=cpt+15;
        }
       }
    if (Num_Sommet==9)
     {
       (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
     }
    }
   else
    {
     if(w2==0)
       {
        (T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+200;
         w2=1;
       }
     else
       {
        (T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+100+cpt;
         w2=0;
         cpt=cpt+15;
       }
     if (Num_Sommet==4)
      {
        (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
      }
    }
   painter.drawEllipse((T_Coordonnees[Num_Sommet][0]), (T_Coordonnees[Num_Sommet][1]), 30.0, 30.0);
  }
int i,j;
for (i=0; i<10; i++)
{
 for (j=0; j<10; j++)
  {
   if (M[i][j]==1)
    {
     painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
    }
  }
}
 for (i=0; i<10; i++)
  {
   for (j=0; j<10; j++)
    {
     if ((M[i][j]==1) &&  (M[j][i]==1))
      {
       painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
       if(  (T_Coordonnees[i][1]>45)||(T_Coordonnees[j][1]>45)  )
         {
          painter.drawLine(((T_Coordonnees[i][0]+20)-10),(T_Coordonnees[i][1]),((T_Coordonnees[j][0]+20)-10),(T_Coordonnees[j][1]));
         }
       else
         {
          painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]+30),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]+30));
         }
      }
    }
  }
 Num_Sommet=0;
 for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
 {
  QPoint point = QPoint( (((T_Coordonnees[Num_Sommet][0])+15)), ((T_Coordonnees[Num_Sommet][1])+15) );
  QString str;
  str.setNum(Num_Sommet);
  painter.drawText( point,str);
 }
}
///////FenPrincipale.cpp
#include "FenPrincipale.h"
#include "FenCC.h"
FenPrincipale::FenPrincipale()
{   int o,p;
    int M [10][10];
    for (o=0; o<10; o++)
    {
      for (p=0; p<10; p++)
        {
          M[o][p]=0;
        }
    }
    M[0][3]=1;
    M[0][9]=1;
    M[2][6]=1;
    M[3][5]=1;
    M[5][3]=1;
    M[2][4]=1;
    M[4][2]=1;
    QPaintEvent *e;
    paintEvent(e,M);
    generer = new QPushButton("&Générer !",this);
    connect(generer, SIGNAL(clicked()), this, SLOT(genererCC(M)));
}
void FenPrincipale::genererCC(int M[10][10])
{
  FenCC *fenetreCC = new FenCC( this , M);
  fenetreCC->exec();
}
void FenPrincipale::paintEvent(QPaintEvent *e, int M[10][10])
{
 QPainter painter(this);
 int  tour=0;
 int x=10;
 int y=10;
 int Num_Sommet=0;
 int T_Coordonnees [10][3];
    for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
    {
      (T_Coordonnees[Num_Sommet][0])=x;
      (T_Coordonnees[Num_Sommet][1])=y;
      (T_Coordonnees[Num_Sommet][2])=tour;
      if (tour==0)
        {
         x+=35;
         tour=1;
        }
        else
        {
         y+=55;
         tour=0;
        }
     }
 int w1=0;
 int w2=0;
 int cpt=10;
 Num_Sommet=0;
   for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
   {
    if ((T_Coordonnees[Num_Sommet][2])==1)
        {
          if(w1==0)
            {
              (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+500) ;
               w1=1;
            }
          else
            {
              if(w1==1)
                {
                 (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+250+cpt) ;
                  w1=0;
                  cpt=cpt+15;
                }
            }
          if (Num_Sommet==9)
            {
                (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
            }
        }
        else
        {
            if(w2==0)
            {
                (T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+200;
                w2=1;
            }
            else
            {
                (T_Coordonnees[Num_Sommet][0])=(T_Coordonnees[Num_Sommet][0])+100+cpt;
                w2=0;
                cpt=cpt+15;
            }
            if (Num_Sommet==4)
            {
                (T_Coordonnees[Num_Sommet][0])=((T_Coordonnees[Num_Sommet][0])+45) ;
            }
        }
        painter.drawEllipse((T_Coordonnees[Num_Sommet][0]), (T_Coordonnees[Num_Sommet][1]), 30.0, 30.0);
    }
    int i,j;
    for (i=0; i<10; i++)
    {
        for (j=0; j<10; j++)
        {
            if (M[i][j]==1)
            {
                painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
            }
        }
    }
    for (i=0; i<10; i++)
    {
        for (j=0; j<10; j++)
        {
            if ((M[i][j]==1) &&  (M[j][i]==1))
            {
                painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]));
                if(  (T_Coordonnees[i][1]>45)||(T_Coordonnees[j][1]>45)  )
                {
                    painter.drawLine(((T_Coordonnees[i][0]+20)-10),(T_Coordonnees[i][1]),((T_Coordonnees[j][0]+20)-10),(T_Coordonnees[j][1]));
                }
                else
                {
                    painter.drawLine((T_Coordonnees[i][0]+20),(T_Coordonnees[i][1]+30),(T_Coordonnees[j][0]+20),(T_Coordonnees[j][1]+30));
                }
            }
        }
    }
    Num_Sommet=0;
    for (Num_Sommet=0; Num_Sommet<10; Num_Sommet++)
    {
        QPoint point = QPoint( (((T_Coordonnees[Num_Sommet][0])+15)), ((T_Coordonnees[Num_Sommet][1])+15) );
        QString str;
        str.setNum(Num_Sommet);
        painter.drawText( point,str);
    }
}
//////////////main.cpp
#include <QApplication>
#include "FenPrincipale.h"
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
FenPrincipale fenetre;
fenetre.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode 
  Thank you in advance.
				
Bookmarks