Enviado em 27/11/2016 - 11:30h
Bom dia,#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#define constante 3
typedef struct {
int x, y;
}tCoordenadas;
void calculaDistancias (tCoordenadas *listaCoordenadas, int numero_Coordenadas, double **matriz);
int indiceDoMenorElemento (double **matriz, int numero_Coordenadas, int linhaQueQuero);
void vizinhoMaisProximo (int *vetPontosOrdenadosVizProx, double **matriz, int numero_Coordenadas);
int main (){
srand(time(NULL));
tCoordenadas teste[constante];
int i, j;
double matriz[constante][constante];
int vet[constante];
for (i = 0; i < constante; i++) {
teste[i].x = rand() % 100;
teste[i].y = rand() % 100;
}
calculaDistancias (teste, constante, matriz);
vizinhoMaisProximo(vet, matriz, constante);
return 0;
}
void calculaDistancias (tCoordenadas *listaCoordenadas, int numero_Coordenadas, double **matriz){
int i, j;
for (i = 0; i < numero_Coordenadas; i++) {
for (j = 0; j < numero_Coordenadas; j++){
if(i < j) matriz[i][j] = sqrt(pow((listaCoordenadas[j].x - listaCoordenadas[i].x), 2) + pow((listaCoordenadas[j].y - listaCoordenadas[i].y),2));
else if(i == j) matriz[i][j] = 0;
else matriz[i][j] = matriz[j][i];
}
}
}
int indiceDoMenorElemento (double **matriz, int numero_Coordenadas, int linhaQueQuero){
double aux;
int i, indice = 0;
aux = matriz[linhaQueQuero][0];
for (i = 1; i < numero_Coordenadas; i++) {
if (aux < matriz[linhaQueQuero][i]) {
aux = matriz[linhaQueQuero][i];
indice = i;
}
}
return i;
}
void vizinhoMaisProximo (int *vetPontosOrdenadosVizProx, double **matriz, int numero_Coordenadas){
int i;
vetPontosOrdenadosVizProx[0] = 0;
for (i = 1; i < numero_Coordenadas; i++){
vetPontosOrdenadosVizProx[i] = indiceDoMenorElemento(matriz, numero_Coordenadas, vetPontosOrdenadosVizProx[i-1]);
}
}
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Preciso resolver um erro de DPKG (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (2)
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta