2013
E Prueba 2
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; }