ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Calculo de operaciones con puntos en lenguaje c


Enviado por   •  28 de Marzo de 2021  •  Trabajo  •  9.504 Palabras (39 Páginas)  •  387 Visitas

Página 1 de 39

[pic 1][pic 2]

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE CÓMPUTO

FUNDAMENTOS DE PROGRAMACIÓN

PONCE ORTEGA MIGUEL ANGEL

1CV14

PRACTICA FINAL DE PUNTOS

[pic 3]

INTRODUCCION

El Siguiente pseudocódigo simula la creación de n° puntos ingresados por el usuario tanto aleatoriamente como manualmente y posterior a eso el cálculo entre 2 puntos seleccionados usuario para así calcular el módulo, Angulo, suma, resta, multiplicación y división de esos 2 puntos, así como la distancia entre todos los puntos ingresados y la distancia mínima entre todos los puntos.

DESARROLLO

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <math.h>

void modulo(float *x,float *y,float *mod,int i);

void angulo(float *x,float *y,float *mod,int i);

void distancia(float *x,float *y,float *dis,int e,int u,int i);

void suma(float *x,float *y,float *sumx,float *sumy,int u,int i);

void resta(float *x,float *y,float *resx,float *resy,int u,int i);

int main(){

        float *x,*y,*mod,*angu,*dis,*sumx,*sumy,*resx,*resy,*dismen;

        float menor=0,divmod=0,divang=0,multimod=0,multiang=0;

        int opcion=0,puntos=0,i=0,total=0;

        int resultado=0,o=0,u=0,e=0,j=0;

        FILE *fp,*ft;

        char espacio={" "};

        srand (time(NULL));

        printf("PRACTICA FINAL DE PUNTOS\n");

do {

        printf("\n\nSeleccione el numero correspondiente a la forma del llenado de los puntos:\n");

        printf("1.- Genera lista de puntos aleatoriamente.\n");

        printf("2.- Genera lista de puntos manualmente.\n");

        printf("3.- Obtener puntos de archivo.\n");

        printf("4.- Suma puntos.\n");

        printf("5.- Resta puntos.\n");

        printf("6.- Multiplica puntos.\n");

        printf("7.- Divide puntos.\n");

        printf("8.- Determina distancia entre puntos.\n");

        printf("9.- Determina la menor distancia entre puntos.\n");

        printf("10.- Imprime detalles de puntos.\n");

        printf("11.- Salir.\n");

inicio:

        scanf("%d",&opcion);

        

        switch(opcion) {

                case 1:

                        printf("Ingrese el numero total de puntos a utilizar.\n");

                        scanf("%d",&puntos);

                        x = (float *) malloc(puntos*sizeof(float));

                        y = (float *) malloc(puntos*sizeof(float));

                        mod = (float *) malloc(puntos*sizeof(float));

                        angu = (float *) malloc(puntos*sizeof(float));

                        if(x==NULL)exit(1);

                        if(y==NULL)exit(1);

                        for(i=0; i<puntos ; i++) /*ingreso de los puntos automaticamente*/{

                                x[i]=(rand()%400)-200;  //de -200  a  +200

                                y[i]=(rand()%400)-200;  //de -200  a  +200

                        }

                        for(i=0;i<puntos;i++) {

                        modulo(x,y,mod,i);                

                        }

                        for(i=0;i<puntos;i++) {

                        angulo(x,y,angu,i);        

                        }

                        

                        

                        fp = fopen ( "compendioDePuntos.txt", "w" );

                        for(i        =0; i<puntos ; i++) {

                                

                                fprintf(fp,"%d ",i);//id del punto

                                fprintf(fp,"%f ",x[i]);//coord en x

                                fprintf(fp,"%f ",y[i]);//coord en y

                                fprintf(fp,"%f ",mod[i]);//modulo

                                fprintf(fp,"%f ",angu[i]);//angulo

                                fprintf(fp,"\n");

                                

                        }

                        fclose(fp);

                        resultado=0;

                        for(i=1;i<puntos;i++) {

                        resultado = resultado + i;

                        }

                        break;

                case 2:

                        printf("Ingrese el numero total de puntos a utilizar.\n");

                        scanf("%d",&puntos);

                        x = (float *) malloc(puntos*sizeof(float));

                        y = (float *) malloc(puntos*sizeof(float));

...

Descargar como (para miembros actualizados) txt (21 Kb) pdf (634 Kb) docx (483 Kb)
Leer 38 páginas más »
Disponible sólo en Clubensayos.com