float calcularGamma(int n, float pCero, float pUno, float varianza, int*senialCero, int* senialUno) { float gamma; gamma = varianza * log(pCero / pUno) + (productoEscalar(senialUno, senialUno, n) - productoEscalar(senialCero, senialCero, n)) / 2; return gamma; }
int parametros_calcular_senial(int* senial, parametros_t *parametros) { int res = productoEscalar(senial, parametros->senialResta, parametros->largo); if (res > parametros->gamma) return 1; else return 0; }
void PuntoVector3D::normalizar() { GLfloat modulo2=productoEscalar(this); GLfloat modulo= sqrt(modulo2); if (modulo2>0) { x= x/modulo; y= y/modulo; z= z/modulo; } }
int main(){ int i, ne, *ptr1, *ptr2; //Pide el numero de elementos ne = pideNumElementos(); //Reserva la memoria para el primer vector. ptr1 = (int *)malloc(ne*sizeof(int)); if (ptr1 == NULL) { printf("Error! no puede reservar memoria."); exit(0); } //Pide los valores del vector 1 printf("Dame los elementos del Primer Vector: \n"); leeElementos(ptr1, ne); //Reserva memoria segundo vector ptr2 = (int *)malloc(ne*sizeof(int)); if (ptr2 == NULL) { printf("Error! no puede reservar memoria."); exit(0); } //Pide los valores del vector printf("Dame los elementos del Segundo Vector: \n"); leeElementos(ptr2, ne); //Escribe los vectores for (i = 0; i < ne; i++){ printf("[%i]", *(ptr1 + i)); } printf("\n"); for (i = 0; i < ne; i++){ printf("[%i]", *(ptr2 + i)); } printf("\n"); //Muestra el resultado printf("El producto escalar es %i\n\n", productoEscalar(ptr1, ne, ptr2)); //Librera el espacio free(ptr1); free(ptr2); system("pause"); return 0; }
int main (){ int opcion; float vector1[3], vector2[3]; float* resultado; //el bucle se ejecutará hasta que el usuario //indique que desea salir del programa while (1){ //obtenemos la operación a realizar opcion = imprimeMenu(); if (opcion == 5){ //salimos del main y, por tanto, termina el programa return 0; } printf ("Introduzca el primer vector: "); scanf ("%f %f %f", &vector1[0], &vector1[1], &vector1[2]); printf ("Introduzca el segundo vector: "); scanf ("%f %f %f", &vector2[0], &vector2[1], &vector2[2]); //realizamos la operación correspondiente switch (opcion){ case 1:{ float producto = productoEscalar(vector1, vector2); printf ("El resultado es %f",resultado); break; } case 2:{ resultado = productoVectorial(vector1, vector2); printf ("El resultado es (%f, %f, %f", resultado[0], resultado[1], resultado[2]); break; } case 3:{ resultado = sumaVectorial(vector1, vector2); printf ("El resultado es (%f, %f, %f", resultado[0], resultado[1], resultado[2]); break; } case 4:{ resultado = restaVectorial(vector1, vector2); printf ("El resultado es (%f, %f, %f", resultado[0], resultado[1], resultado[2]); break; } } } system("pause"); }