links.c
int calcularPeso(int xM, int yM, int xS, int yS){

	int pesoCaminho=0;	

	if( xM < xS ){
		for(int i=xM; i<=xS; i++){

			if( i < xS){
				pesoCaminho = pesoCaminho + linkD[i][yM];
			} 		
		
			if( yM > yS ){
				for(int j=yM-1; j>=yS; j--){
			
					if( i == xS ){
						 
						pesoCaminho = pesoCaminho + linkB[i][j];
					}
				}
			}
			if( yM < yS ){
				for(int j=yM; j<yS; j++){
			
					if( i == xS ){
						 
						pesoCaminho = pesoCaminho + linkC[i][j];
					}
				}
			}
			
		}
	}
	if( xM > xS ){
		for(int i=xM-1; i>=xS; i--){

			if( i >= xS){
				pesoCaminho = pesoCaminho + linkE[i][yM];
			} 		
		
			if( yM > yS ){
				for(int j=yM-1; j>=yS; j--){
			
					if( i == xS ){
						 
						pesoCaminho = pesoCaminho + linkB[i][j];
					}
				}
			}
			if( yM < yS ){
				for(int j=yM; j<yS; j++){
			
					if( i == xS ){
						 
						pesoCaminho = pesoCaminho + linkC[i][j];
					}
				}
			}
			
		}
	}
	if( xM == xS ){  //se o mestre esta no mesmo x do escravo, podendo estar acima ou embaixo
		

		if( yM > yS ){  //se o mestre esta acima do escravo
			for(int j=yM-1; j>=yS; j--){
					 
				pesoCaminho = pesoCaminho + linkB[xM][j];
			}
		}
		if( yM < yS ){  //se o mestre esta abaixo do escravo
			for(int j=yM; j<yS; j++){
						 
				pesoCaminho = pesoCaminho + linkC[xM][j];
			}
		}
			
		
	}
	return pesoCaminho;

}
//calcula o peso do caminho de um processador mestre a um processador escravo
//parametros: xM, x do processador mestre
//parametros: yM, y do processador mestre
//parametros: xS, x do processador escravo
//parametros: yS, y do processador escravo
//retona o peso do caminho
calcula o peso do caminho de um processador mestre a um processador escravo
parametros: xM, x do processador mestre
parametros: yM, y do processador mestre
parametros: xS, x do processador escravo
parametros: yS, y do processador escravo
retona o peso do caminho
calcula o peso do caminho de um processador mestre a um processador escravo parametros : xM x do processador mestre parametros : yM y do processador mestre parametros : xS x do processador escravo parametros : yS y do processador escravo retona o peso do caminho
int calcularPeso(int xM, int yM, int xS, int yS){
	int pesoCaminho=0;	
	if( xM < xS ){
		for(int i=xM; i<=xS; i++){
			if( i < xS){
				pesoCaminho = pesoCaminho + linkD[i][yM];
			} 		
			if( yM > yS ){
				for(int j=yM-1; j>=yS; j--){
					if( i == xS ){
						pesoCaminho = pesoCaminho + linkB[i][j];
					}
				}
			}
			if( yM < yS ){
				for(int j=yM; j<yS; j++){
					if( i == xS ){
						pesoCaminho = pesoCaminho + linkC[i][j];
					}
				}
			}
		}
	}
	if( xM > xS ){
		for(int i=xM-1; i>=xS; i--){
			if( i >= xS){
				pesoCaminho = pesoCaminho + linkE[i][yM];
			} 		
			if( yM > yS ){
				for(int j=yM-1; j>=yS; j--){
					if( i == xS ){
						pesoCaminho = pesoCaminho + linkB[i][j];
					}
				}
			}
			if( yM < yS ){
				for(int j=yM; j<yS; j++){
					if( i == xS ){
						pesoCaminho = pesoCaminho + linkC[i][j];
					}
				}
			}
		}
	}
	if( xM == xS ){  
		if( yM > yS ){  
			for(int j=yM-1; j>=yS; j--){
				pesoCaminho = pesoCaminho + linkB[xM][j];
			}
		}
		if( yM < yS ){  
			for(int j=yM; j<yS; j++){
				pesoCaminho = pesoCaminho + linkC[xM][j];
			}
		}
	}
	return pesoCaminho;
}
int calcularPeso ( int xM , int yM , int xS , int yS ) { int pesoCaminho = 0 ; if ( xM < xS ) { for ( int i = xM ; i <= xS ; i ++ ) { if ( i < xS ) { pesoCaminho = pesoCaminho + linkD [ i ] [ yM ] ; } if ( yM > yS ) { for ( int j = yM - 1 ; j >= yS ; j -- ) { if ( i == xS ) { pesoCaminho = pesoCaminho + linkB [ i ] [ j ] ; } } } if ( yM < yS ) { for ( int j = yM ; j < yS ; j ++ ) { if ( i == xS ) { pesoCaminho = pesoCaminho + linkC [ i ] [ j ] ; } } } } } if ( xM > xS ) { for ( int i = xM - 1 ; i >= xS ; i -- ) { if ( i >= xS ) { pesoCaminho = pesoCaminho + linkE [ i ] [ yM ] ; } if ( yM > yS ) { for ( int j = yM - 1 ; j >= yS ; j -- ) { if ( i == xS ) { pesoCaminho = pesoCaminho + linkB [ i ] [ j ] ; } } } if ( yM < yS ) { for ( int j = yM ; j < yS ; j ++ ) { if ( i == xS ) { pesoCaminho = pesoCaminho + linkC [ i ] [ j ] ; } } } } } if ( xM == xS ) { if ( yM > yS ) { for ( int j = yM - 1 ; j >= yS ; j -- ) { pesoCaminho = pesoCaminho + linkB [ xM ] [ j ] ; } } if ( yM < yS ) { for ( int j = yM ; j < yS ; j ++ ) { pesoCaminho = pesoCaminho + linkC [ xM ] [ j ] ; } } } return pesoCaminho ; }
calcula o peso do caminho de um processador mestre a um processador escravo
parametros: xM, x do processador mestre
parametros: yM, y do processador mestre
parametros: xS, x do processador escravo
parametros: yS, y do processador escravo
retona o peso do caminho
calcula o peso do caminho de um processador mestre a um processador escravo parametros : xM x do processador mestre parametros : yM y do processador mestre parametros : xS x do processador escravo parametros : yS y do processador escravo retona o peso do caminho
//se o mestre esta no mesmo x do escravo, podendo estar acima ou embaixo //se o mestre esta acima do escravo //se o mestre esta abaixo do escravo