2013

E Prueba 2

Menu Principal

Compile como:

          $gcc Eprueba2.c -o ejec -std=c99 -lm
#include <stdio.h>
#include <math.h>

//define estructura proyectil
typedef struct
{
  float tiempo;
  float altura;
  float velocidad;
} proyectil;

int main()
{
//crea arreglo con los datos de la estructura
 proyectil D[20926];
//abre archivos
 FILE * ht;
 FILE * vt;
 ht=fopen("tvsh.txt","r");
 vt=fopen("vvst.txt","w");
 if(!ht)
 {
  printf ("Error, no se encuentra el fichero.\n");
  return 1;
 }
 if(!vt)
 {
   printf("Error, no se encuentra el fichero. \n");
   return 1;
 }

//asigna valores del archivo al arreglo de la estructura
 for (int i=0; i<20926;i++)
 {
  D[i].tiempo = 0.0;
  D[i].altura = 0.0;
  D[i].velocidad = 0.0;
  fscanf (ht, "%f \t %f", &D[i].tiempo, &D[i].altura);
 }
//cierra el archivo
 fclose(ht);

 float v0y, v0, xmax;

//calculo de v0 
 v0y=(D[1].altura-D[0].altura)/(D[1].tiempo-D[0].tiempo);
 v0=2.0*v0y/sqrt(2.0);

//calculo del alcance maximo
 xmax=(v0*(sqrt(2.0)/2.0))*D[20925].tiempo;
 printf("%f \n",xmax);

//calculo de la velocidad instantanea.
 for(int i=0; i<20925; i++)
 {
  D[i].velocidad=(D[i+1].altura - D[i].altura)/(D[i+1].tiempo - D[i].tiempo);
  fprintf(vt,"%f \t %f \n", (D[i+1].tiempo+D[i].tiempo)/2.0,D[i].velocidad);
 }
 fclose(vt);
return 0;
}

University

Personal

edit SideBar