Example #1
0
File: floyd.c Project: YiseKai/UCA
/*Determinar el coste de los caminos de coste mínimo entre cualquier par de vértices del grafo*/
void Floyd (Grafo G, tCoste A[][N], vertice P[][N])
{
  
      vertice i,j,k;
      tCoste ikj;
      
      for(i=0; i<G->numVert; i++)
      {
        for(j=0; j<G->numVert; j++)
        {
            A[i][j]=G->Costes[i][j];
            P[i][j]=-1;   
        }         
      }   
      
      //MODIFICACION PARA ESTE EJERCICIO
      //Hacemos que no inicialice la diagonal a 0
      //for(i=0; i<G->numVert; i++)
            //A[i][i]=0;
            
      for(k=0; k < G->numVert; k++)
          for(i=0; i < G->numVert; i++)
              for(j=0; j < G->numVert; j++)
              {
                  ikj=Suma(A[i][k], A[k][j]);   
                  if(A[i][j] > ikj)
                  {
                      A[i][j]=ikj;
                      P[i][j]=k;   
                  }
              }
}
int main(void) {
	_GPIO_Init();
	_TIM_Init();
	_ADC_Init();
	_DAC_Init();

// Infinite loop 
  while (1){
  ADC1_Convert();
	ADC2_Convert();
	Suma();
  DAC_Convert();
	}
};
//Llamar a la funcion
main ()
{
	float a,b;
   cout<<"Operacion Suma"<<endl;
	cout<<"Dar Num_uno"<<endl;
	cin>> a;
	cout<<"Dar Num_dos"<<endl;
	cin>> b;
	cout<<"El resultado es "<<Suma (a,b)<<endl;
   cout<<" "<<endl;

   float c,d;
   cout<<"Operacion Resta"<<endl;
	cout<<"Dar Num_uno"<<endl;
	cin>> c;
	cout<<"Dar Num_dos"<<endl;
	cin>> d;
	cout<<"El resultado es "<<Resta (c,d)<<endl;
   cout<<" "<<endl;

   float g,h;
   cout<<"Operacion Producto"<<endl;
	cout<<"Dar Num_uno"<<endl;
	cin>> g;
	cout<<"Dar Num_dos"<<endl;
	cin>> h;
	cout<<"El resultado es "<<Producto (g,h)<<endl;
   cout<<" "<<endl;

   float i,j;
   cout<<"Operacion Division"<<endl;
	cout<<"Dar Num_uno"<<endl;
	cin>> i;
	cout<<"Dar Num_dos"<<endl;
	cin>> j;
	cout<<"El resultado es "<<Division (i,j)<<endl;
   cout<<" "<<endl;

	getch ();
}
// PROGRAMA PRINCIPAL
int main(){
	bind_textdomain_codeset ("calculadora", "UTF-8");
	setlocale(LC_ALL,"");
	bindtextdomain("calculadora", "idioma");
	textdomain("calculadora");	
	
	double a, b, resultado;
	long resexp;
	int Opcion;
	char buffer[9];

    while(1){
	printf(_("\n\t\tCALCULATOR\n\n"));
	printf(_("\t 1.- Sum\n"));
	printf(_("\t 2.- Subtraction\n"));
	printf(_("\t 3.- Multiplication\n"));
	printf(_("\t 4.- Division\n"));
	printf(_("\t 5.- Square Root\n"));
	printf(_("\t 6.- Pow\n"));
	printf(_("\t 7.- Natural Logarithm\n"));
	printf(_("\t 8.- Sine\n"));
	printf(_("\t 9.- Cosine\n"));
	printf(_("\t 10.-Tangent\n"));
	printf(_("\t 11.-arc sine\n"));
	printf(_("\t 12.-Arc Cosine\n"));
	printf(_("\t 13.-Arc Tangent\n"));
	printf(_("\t 14.-Ceil\n"));
	printf(_("\t 15.-Arc Tangent (two parameters\n"));
    printf(_("\t 16.-Hyperbolic Cosine\n"));
    printf(_("\t 17.-Hyperbolic Sine\n"));
    printf(_("\t 18.-Hyperbolic Tangent\n"));
    printf(_("\t 19.-Exponential\n"));
    printf(_("\t 20.-Frexp\n"));
    printf(_("\t 21.-Idexp\n"));
    printf(_("\t 22.-Logarithm base ten\n"));
    printf(_("\t 23.-Modf\n"));
    printf(_("\t 24.-Absolute value\n"));
    printf(_("\t 25.-Floor\n"));
    printf(_("\t 26.-Fmod\n"));
	printf(_("\t\t Choose your option: "));
    

    scanf("%s", buffer);

    if( validar_es_entero(buffer, &Opcion) != true )
        Opcion = 999;

    resultado = 0.0;
	switch (Opcion)
	{
	   case 1:
		   resultado = Suma (a, b);
	   break;

  	   case 2:
	   	resultado = Resta (a, b);
	   break;


	   case 3:
	   	resultado = Multiplicacion (a, b);
	   break;


	   case 4:
	   	resultado = Division (a, b);
       break;

       case 5:
	   	resultado = Raiz_cuadrada (a);
 	   break;
      
      case 6:
	   	resexp = Potencia (a, b);
		printf(_("\n The result of the chosen option: "));
		printf(" %ld ",resexp);
 	   break;
      
      case 7:
	   	resultado = Logaritmo (a);
 	   break;
 	   
 	   case 8:
	   	resultado = Seno (a);
 	   break;
 	   
 	   case 9:
	   	resultado = Coseno (a);
 	   break;
 	   
 	   case 10:
	   	resultado = Tangente (a);
 	   break;
 	   
 	   case 11:
	   	resultado = Arcseno (a);
 	   break;
 	   
 	   case 12:
	   	resultado = Arccoseno(a);
 	   break;

           case 13:
	   	resultado = Arctangente(a);
 	   break;
 	   
 	   case 14:
	   	resultado = Ceil(a);
 	   break;
	   case 15:
	   	resultado = ArcoTangente2(a,b);
 	   break;
           case 16:
	   	resultado = CosenoHiperbolico(a);
 	   break;

           case 17:
	   	resultado = SenoHiperbolico(a);
 	   break;
           case 18:
	   	resultado = TangenteHiperbolico(a);
 	   break;
           case 19:
	   	resultado = Exponencial(a);
 	   break;
 	   
 	   case 20:
	   	resultado = Frexp(a,b);
 	   break;
 	   
 	   case 21:
	   	resultado = Idexp(a,b);
 	   break;
 	   
 	   case 22:
	   	resultado = LogB10(a);
 	   break;
 	   
 	   case 23:
	   	resultado = Modf(a,b,resultado);
 	   break;
 	   
 	   case 24:
	   	resultado = ValorAbsoluto(a);
 	   break;
 	   
 	   case 25:
	   	resultado = Fmod(a,b, resultado);
 	   break;
 	  
	   case 26:
	   	resultado = Floor(a);
 	   break; 
 	   
       default:
          Opcion = 999;
         printf(_("Invalid option , try again only digits."));
	   }

       if(Opcion<999)
            printf(_("\n The result of the chosen option: "));
		printf("%lf \n",resultado);		
  
  }

    
  

}