Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.PrintWriter;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Scanner;
- public class Zadanie {
- public static boolean czyProstokatny(int a,int b, int c){ //nie używać pierwiastków w sprawdzaniu warunków
- if ((a*a+b*b==c*c) || (a*a+c*c==b*b) || (c*c+b*b==a*a))
- return true;
- else
- return false;
- }
- public static boolean czyTrojkat(int a, int b, int c){
- if ((a+b>c) && (a+c>b) && (c+b>a))
- return true;
- else
- return false;
- }
- public static int obliczObwod(int a, int b, int c){ //tutaj juz zakładamy, ze a,b,c tworzą trójkąt!
- return (a+b+c);
- }
- public static void main(String[] args) throws IOException {
- File plik=new File("dane_trojkaty.txt");
- PrintWriter zapis=new PrintWriter("wynik_trojkąty.txt");
- Scanner odczyt=new Scanner(plik);
- ArrayList lista=new ArrayList<String>();
- while (odczyt.hasNextLine()){
- lista.add(odczyt.nextLine()); //wczytanie liczb do arraylisty, po wczytaniu elementy tablicy stają się obiektami klasy Object
- }
- //*** odpowiedz do pierwszego punktu
- zapis.println("Odpowiedzi do punktu 1");
- System.out.println("Odpowiedzi do punktu 1");
- for (int i=0;i<lista.size()-2;i++)
- {
- if (czyProstokatny(Integer.parseInt(String.valueOf(lista.get(i))),Integer.parseInt(String.valueOf(lista.get(i+1))),Integer.parseInt(String.valueOf(lista.get(i+2)))))
- {
- System.out.println(lista.get(i)+","+lista.get(i+1)+","+lista.get(i+2));
- zapis.println(lista.get(i)+","+lista.get(i+1)+","+lista.get(i+2));
- }
- }
- //*** koniec odpowiedzi do pierwszego punktu
- //#####################################
- //*** odpowiedz do drugiego punktu
- int maxObwod=0; //maksymalny obwód
- int obwod=0; //roboczy obwód
- int licznik=0; //licznik nieprzystjących
- for (int i=0;i<lista.size()-2;i++)
- for (int j=i+1;j<lista.size()-1;j++)
- for (int k=j+1;k<lista.size();k++)
- {
- if (czyTrojkat(Integer.parseInt(String.valueOf(lista.get(i))),Integer.parseInt(String.valueOf(lista.get(j))),Integer.parseInt(String.valueOf(lista.get(k))))){
- obwod=Integer.parseInt(String.valueOf(lista.get(i)))+Integer.parseInt(String.valueOf(lista.get(j)))+Integer.parseInt(String.valueOf(lista.get(k)));
- licznik++; //powiększamy licznik trójkątów nie przystajacych, należy pamiętać, że żadna liczba nie powtórzy się w pliku
- }
- if (obwod>maxObwod)
- {
- maxObwod=obwod;
- //System.out.println("Znaleziono większy obwod dla nastepującego trójkąta");
- //System.out.println(lista.get(i)+","+lista.get(j)+","+lista.get(k));
- }
- }
- System.out.println("Odpowiedzi do punktu 2.");
- System.out.println("Największy obwód to "+maxObwod);
- zapis.println("Odpowiedzi do punktu 2");
- zapis.println("Największy obwód to "+maxObwod);
- //*** koniec odpowiedzi do drugiego punktu
- //#####################################
- //*** odpowiedz do trzeciego punktu
- System.out.println("Odpowiedzi do punktu 3");
- System.out.println("Nie przystających jest "+licznik);
- zapis.println("Odpowiedzi do punktu 3");
- zapis.println("Nie przystających jest "+licznik);
- //*** koniec odpowiedzi do trzeciego punktu
- zapis.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment