Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.86 KB | None | 0 0
  1. package com.company;
  2. import java.util.Scanner;
  3. public class Main {
  4.     public static void main(String[] args) {
  5.         double k[];
  6.         double FirstSide;
  7.         double SecondSide;
  8.         double ThirdSide;
  9.         double SemiPerimeter;
  10.         double Min;
  11.         int n;
  12.         int Number;
  13.         int i;
  14.         Number = 0;
  15.         Min = 0;
  16.         System.out.printf("Subject: n triangles are given by the lengths of their sides. Find a triangle with the smallest radius of an inscribed circle. \n");
  17.         do {
  18.             System.out.printf("Enter the number of triangles: \n");
  19.             n = input();
  20.         } while (n < 1);
  21.         k = new double[n];
  22.         for (i = 0; i < k.length; i++) {
  23.             do {
  24.                 System.out.printf("Enter the first side: \n");
  25.                 FirstSide = inputD();
  26.                 System.out.printf("Enter the second side \n");
  27.                 SecondSide = inputD();
  28.                 System.out.printf("Enter the third side: \n");
  29.                 ThirdSide = inputD();
  30.                 if ( ((FirstSide + SecondSide) < ThirdSide) ||
  31.                         ((FirstSide + ThirdSide) < SecondSide) ||
  32.                         ((SecondSide + ThirdSide) < FirstSide)) {
  33.  
  34.                     System.out.printf("Such a triangle does not exist! \n");
  35.  
  36.                 }
  37.             } while ( ((FirstSide + SecondSide) < ThirdSide) ||
  38.                       ((FirstSide + ThirdSide) < SecondSide) ||
  39.                       ((SecondSide + ThirdSide) < FirstSide) );
  40.             SemiPerimeter = (FirstSide + SecondSide + ThirdSide) / 2;
  41.             k[i] = Math.sqrt(((SemiPerimeter - FirstSide) * (SemiPerimeter - SecondSide) * (SemiPerimeter - ThirdSide)) /
  42.                     SemiPerimeter);
  43.             System.out.printf("%f \n", k[i]);
  44.             Min = k[0];
  45.  
  46.             if (k[i] < Min) {
  47.                 Min = k[i];
  48.                 Number = i;
  49.             }
  50.  
  51.  
  52.             System.out.printf("SemiPerimeter: %.2f \n", SemiPerimeter);
  53.         }
  54.         System.out.printf("Number of the triangle with the smallest radius of the inscribed circle: %d\n", Number + 1);
  55.         System.out.printf("The radius of the circle inscribed in it: %f \n", Min);
  56.     }
  57.     public static int input() {
  58.         Scanner scan = new Scanner(System.in);
  59.         int value = 1;
  60.         try {
  61.             value = scan.nextInt();
  62.             return value;
  63.         } catch (Throwable error) {
  64.             System.out.println("Error! Enter the number: ");
  65.             return input();
  66.         }
  67.     }
  68.     public static double inputD() {
  69.         Scanner scan = new Scanner(System.in);
  70.         double value = 1;
  71.         try {
  72.             value = scan.nextDouble();
  73.             return value;
  74.         } catch (Throwable error) {
  75.             System.out.println("Error! Enter the number: ");
  76.             return inputD();
  77.         }
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement