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]);
}
}
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Erro ao fazer remaster usando Penguin eggs (2)
Primeiras impressões do Debian 13 (25)
Meu Amigo não consegue entrar em meu mundo, via tailscale, hamachi e z... (1)