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]);
}
}
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Instalar o Microsoft Edge no Slackware 15
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
crontab executar em tempos (1)
Formatando cartão de memoria que nao formata[AJUDA] (9)
Programa duplicado no "Abrir com" e na barra de pesquisa do ... (3)