1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
import java.util.Scanner;
import java.util.Arrays;
import java.text.DecimalFormat;
public class Decharge {
private static DecimalFormat df = new DecimalFormat("#.000");
/*******************************************
* Completez le programme a partir d'ici.
*******************************************/
/*******************************************
* Ne rien modifier apres cette ligne.
*******************************************/
public static void afficheTroisPlusProches(int x, int y, int[] coordonneesHabitations) {
int[] tpp = troisPlusProches(x, y, coordonneesHabitations);
System.out.println("(" + x + "," + y + ") est a :");
for (int i = 0 ; i < 3 ; i++) {
System.out.println(" " + df.format(calculerDistance(x, y, tpp[2*i], tpp[2*i+1])) + " de (" + tpp[2*i] + "," + tpp[2*i+1] + ")");
}
}
//PROGRAMME PRINCIPAL
public static void main(String args[]) {
int[] coordonneesHabitations = {
9, 30, 18, 8, 3, 18, 25, 36
};
// Lecture des donnees
Scanner clavier = new Scanner(System.in);
System.out.print("Entrez la coordonnee x de la decharge: ");
int x = clavier.nextInt();
System.out.print("Entrez le coordonnee y de la decharge: ");
int y = clavier.nextInt();
// trouve les coordonnees de l'habitation la plus proche
// (identifiees par l'indice correspondant dans le tableau
// de coordonnees)
int plusProche = plusProche(x, y, coordonneesHabitations);
System.out.println("--- Question 1 ---");
System.out.println("Coordonnees de l'habitation la plus proche de la decharge :");
System.out.println("(" + coordonneesHabitations[plusProche * 2] + "," + coordonneesHabitations[plusProche * 2 + 1] + ") ; distance = " +
df.format(calculerDistance(x, y, coordonneesHabitations[plusProche * 2], coordonneesHabitations[plusProche * 2 + 1])) + " metres");
// trouve les coordonnees des 3 habitations les plus proches et affiche les coordonnees
System.out.println("--- Question 2 ---");
System.out.println("Coordonnees des 3 habitations les plus proches de la decharge :");
afficheTroisPlusProches(x, y, coordonneesHabitations);
// affiche le centre de gravite des 3 plus proches (la meilleure place)
int[] grav = meilleurePlace(x, y, coordonneesHabitations);
System.out.println("--- Question 3 ---");
System.out.println("Coordonnees de la meilleure place pour la decharge :");
System.out.println("(" + grav[0] + "," + grav[1] + ")");
clavier.close();
}
} |
Partager