Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package grigorieva.olga;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class OAiPVariant7Program211 {
- public static void main(String[] args) {
- int n = inputN();
- double[][] triangles = new double[n][3];
- for (int i = 0; i < n; i++) {
- triangles[i] = inputTriangle(i);
- }
- double[][] medians = new double[n][3];
- for (int i = 0; i < n; i++) {
- medians[i] = calculateMedians(triangles[i]);
- }
- int biggestMedianTriangle = 0;
- int biggestMedianTriangleMedian = 0;
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < 3; j++) {
- if (medians[i][j] > medians[biggestMedianTriangle][biggestMedianTriangleMedian]) {
- biggestMedianTriangle = i;
- biggestMedianTriangleMedian = j;
- }
- }
- }
- System.out.println("Самая большая медиана = " + medians[biggestMedianTriangle][biggestMedianTriangleMedian] + " у треугольника с порядковым номером = " + biggestMedianTriangle);
- }
- private static int inputN() {
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
- int n = 0;
- boolean inputIsCorrect = false;
- do {
- System.out.print("Введите N: ");
- try {
- String inputN = bufferedReader.readLine();
- n = Integer.parseInt(inputN);
- if (n > 0) {
- inputIsCorrect = true;
- } else {
- System.out.println("N должно быть больше 0");
- }
- } catch (NumberFormatException e) {
- System.out.println("Это не число!");
- } catch (IOException e) {
- System.out.println("Ошибка чтения!");
- }
- } while (!inputIsCorrect);
- return n;
- }
- private static double[] inputTriangle(int n) {
- double[] triangle = new double[3];
- boolean inputIsCorrect = false;
- do {
- for (int i = 0; i < 3; i++) {
- triangle[i] = inputDouble("Введите " + (i + 1) + "ю сторону " + (n + 1) + "го трегольника: ");
- }
- double a = triangle[0];
- double b = triangle[1];
- double c = triangle[2];
- if (a + b > c && a + c > b && b + c > a) {
- System.out.println("Треугольник существует!");
- inputIsCorrect = true;
- } else {
- System.out.println("Треугольник НЕ существует!");
- }
- } while (!inputIsCorrect);
- return triangle;
- }
- private static double inputDouble(String prompt) {
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
- double result = 0;
- boolean inputIsCorrect = false;
- do {
- System.out.print(prompt);
- try {
- String input = bufferedReader.readLine();
- result = Double.parseDouble(input);
- if (result > 0) {
- inputIsCorrect = true;
- } else {
- System.out.println("Введённое число должно быть больше 0");
- }
- } catch (NumberFormatException e) {
- System.out.println("Это не число!");
- } catch (IOException e) {
- System.out.println("Ошибка чтения!");
- }
- } while (!inputIsCorrect);
- return result;
- }
- private static double[] calculateMedians(double[] triangle) {
- double a = triangle[0];
- double b = triangle[1];
- double c = triangle[2];
- double[] medians = new double[3];
- medians[0] = calculateMedian(b, c, a);
- medians[1] = calculateMedian(a, c, b);
- medians[2] = calculateMedian(a, b, c);
- return medians;
- }
- private static double calculateMedian(double x, double y, double z) {
- return Math.sqrt((2 * y * y + 2 * z * z - 2 * x * x) / 4);
- }
- }
Add Comment
Please, Sign In to add comment