Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int [][] GLOUTON (int n, int [][]tab){
- int [][] TabClasse=new int [n][3];
- int a=0;
- int b=0;
- int max=0;
- int gr=1;
- int c=0;
- for(a=0;a<=n-1;a++){
- TabClasse[a][0]=a+1;
- TabClasse[a][1]=0;
- TabClasse[a][2]=0;
- }
- for(a=0;a<=n-1;a++){
- for (b=a;b<=n-1;b++){
- if (tab[a][b]==1){
- TabClasse[a][1]++;
- TabClasse[b][1]++;
- }
- }
- }
- for (int i=1;i<=n-1;i++){
- for (a=1;a<=n-1;a++){
- if (TabClasse[a-1][1]<TabClasse[a][1]){
- max=TabClasse[a][1];
- TabClasse[a][1]=TabClasse[a-1][1];
- TabClasse[a-1][1]=max;
- max=TabClasse[a][0];
- TabClasse[a][0]=TabClasse[a-1][0];
- TabClasse[a-1][0]=max;
- }
- }
- }
- for(a=0;a<=n-1;a++){
- if(TabClasse[a][2]==0){
- TabClasse[a][2]=gr;
- for (b=0;b<=n-1;b++){
- if ((tab[TabClasse[a][0]-1][TabClasse[b][0]-1]==0) && (TabClasse[b][2]==0)){
- for (c=0;c<=n-1;c++){
- if(TabClasse[c][2]==gr){
- if(tab[TabClasse[b][0]-1][TabClasse[c][0]-1]==0){
- TabClasse[b][2]=gr;
- }
- else{
- TabClasse[b][2]=0;
- }
- }
- }
- }
- }
- gr++;
- }
- }
- return TabClasse;
- }
- void affichage(int n, int [][]tableau, int [][]tab2, String []nom){
- int Rho =2;
- double Theta =0;
- double x =0;
- double y =0;
- int x2;
- int y2;
- int nS=n;
- int k=0;
- int compteur=1;
- String nA="a";
- String nB="a";
- double p=1;
- for (double i=0 ; i<2*Math.PI;i=i+2*Math.PI/nS){
- Theta=i;
- x=250+100*Rho*Math.cos(Theta);
- y=250+100*Rho*Math.sin(Theta);
- x2=(int)x;
- y2=(int)y;
- println (x2+";"+y2);
- for (k=0;k<=n-1;k++){
- if(compteur==tab2[k][0]){
- addNode(nom[k]+compteur+" : "+tab2[k][2],x2,y2);
- }
- }
- compteur++;
- }
- for (int j=0;j<=n-1;j++){
- for(int j2=j+1;j2<=n-1;j2++){
- if (tableau[j][j2]==1){
- nA=nom[tab2[j][0]-1]+(j+1)+" : "+tab2[tab2[j][0]-1][2];
- nB=nom[tab2[j2][0]-1]+(j2+1)+" : "+tab2[tab2[j2][0]-1][2];
- println(nA+"/"+nB);
- addLink(nA,nB,0);
- }
- }
- }
- }
- void main(){
- println("Combien y a t'il de sommets ?");
- int nombresommets=0;
- int j=0;
- nombresommets=readInteger();
- String[]noms = new String[nombresommets];
- println("Si 2 sommets sont incompatibles , tapez 1 , sinon , tapez 0");
- int[][] compa = new int[nombresommets][nombresommets];
- for (int i=0 ;i<nombresommets; i++){
- for (j=i+1 ;j<nombresommets; j++){
- println((i+1)+" et "+(j+1));
- compa[j][i]=compa[i][j]=readInteger();
- }
- i=i+1;
- println("Quel est le nom du sommet "+i);
- String nom=readString();
- println("Le sommet "+ i+" s'appelle "+ nom);
- i=i-1;
- }
- int [][]tabGR = new int [nombresommets][3];
- tabGR=GLOUTON(nombresommets,compa);
- affichage(nombresommets,compa,tabGR,noms);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement