Buscar

exercicio pratica algoritmos

Prévia do material em texto

EXERCÍCIOS – ALGORITMOS PARA ENGENHARIA (PRÁTICA)
Túlio Doné de Queiroz						Matrícula: 469461
1) ESCREVER UM CÓDIGO C PARA RECEBER 10 PONTOS DE COORDENADAS (X,Y)E MOSTRAR O PONTO MAIS PRÓXIMO DA ORIGEM.
#include <stdio.h>
#include <limits.h> // contém definição de INT_MAX
typedef struct{
 int x;
 int y;
} Ponto;
#define QUANTIDADE_DE_PONTOS 10
int main(){
 Ponto pontos[QUANTIDADE_DE_PONTOS];
 printf("Campos: x, y\n");
 for(int i=0; (i < QUANTIDADE_DE_PONTOS); i++){
 printf("\nInforme as coordenadas do ponto(%i): ",i+1);
 scanf("%d %d",&pontos[i].x,&pontos[i].y);
 }
 int menor_distancia_ao_quadrado = INT_MAX; // maior inteiro
 int ponto_mais_proximo = 1;
 for(int i=1; (i < QUANTIDADE_DE_PONTOS); i++){
 int distancia_ao_quadrado = (pontos[i].x-pontos[0].x)*
 (pontos[i].x-pontos[0].x)+(pontos[i].y-pontos[0].y)*
 (pontos[i].y-pontos[0].y);
 if(distancia_ao_quadrado < menor_distancia_ao_quadrado){
 ponto_mais_proximo = i;
 menor_distancia_ao_quadrado = distancia_ao_quadrado;
 }
 }
 printf("\nPonto mais proximo: (%d,%d)\n",
 pontos[ponto_mais_proximo].x, pontos[ponto_mais_proximo].y);
 getchar();
 return 0;
}
2) ESCREVER UM PROGRAMA PARA RECEBER DOIS NÚMEROS E MOSTRAR O MDC E O MMC.
int mdc2(int a,int b);
int mmc2(int a,int b);
int main()
{
    int a,b;
    char op;
    do{
        system("title MMC"); system("color 9a");
        printf("Informe dois numeros inteiros: ");
        scanf("%i%i",&a,&b);
        printf("m.d.c => %i\n",mmc2(a,b));
        printf("\nDeseja calcular outro m.m.c (S/N)? ");
        scanf("%s",&op);
      }while((op=='s')||(op=='S'));    
system("Pause");
}
int mdc2(int a,int b)
{
    if(b == 0) return a;
    else
    return mdc2(b,a%b);
}
int mmc2(int a,int b)
{
    int div;
    if(b == 0) return a;
    else
     div = (a*b)/(mdc2(a,b));
    return (div); 
}

Outros materiais