Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ProjektNaZaliczenie;
- import java.awt.List;
- import java.util.Arrays;
- import java.util.Comparator;
- import java.util.Random;
- import java.util.Scanner;
- import javax.swing.SortOrder;
- public class ProjektNaZaliczenieD {
- public static Scanner scaner = new Scanner(System.in);
- public static Random g = new Random();
- public static double rangeMin = 0.0;
- public static double rangeMax = 0.0;
- public static double [] rozwiazanie ={};
- public static void wyswietlRozwiazanie() {
- for(int i=0;i<=rozwiazanie.length-1;i++) {
- System.out.print(rozwiazanie[i]+" ");
- }
- }
- public static double [][] wynikowa ={{ }};
- public static Double[][] random = new Double[0][0];
- public static void setRandom() {
- for(int i=0;i<=19;i++){
- for(int j=0;j<=8;j++){
- random[i][j]=0.0;}}
- for(int i=0;i<=19;i++) {
- for (int j=0;j<=7;j++) {
- random[i][j]= rangeMin+(rangeMax-rangeMin)*g.nextDouble();}}}
- public static void Rdisplay() {
- for(int i=0;i<=19;i++) {
- for(int j=0;j<=8;j++) {
- System.out.print(random[i][j]+" ");
- }
- System.out.println();
- }
- }
- public static double [][] abs = new double[9][3];
- public static void wypelnienieABS(Double[][] tab, double[][] tab1) {
- int z=0;
- while(z<=19) {
- for(int i=0;i<=8;i++) {
- for(int j=0;j<=2;j++) {
- tab1[i][j]=0.0;}}
- for(int i=0;i<=7;i++) {
- for(int j=0; j<=7;j++) {
- tab1[i][1] +=rozwiazanie[j]*wynikowa[i][j];
- tab1[i][0] +=rozwiazanie[i]*tab[z][j];
- tab1[i][2]= Math.abs(tab1[i][1]-tab1[i][0]);}}
- for(int i=0;i<=7;i++) {
- tab1[8][2]+=tab1[i][2];}
- tab[z][8]=(Math.round(abs[8][2]*100.0)/100.0);
- z++;
- tab1[8][2]=0.0;}}
- public static void wyswietlenieABS(double[][] tab1) {
- for(int i=0; i<=8;i++) {
- for(int j=0;j<=2;j++) {
- System.out.print(abs[i][j]+" ");}
- System.out.println();}}
- public static void sortArray(Double[][] tab) {
- Arrays.sort(tab, new Comparator<Double[]>() {
- public int compare(Double[] o1, Double[] o2) {
- Double itemOne = o1[8];
- Double itemTwo = o2[8];
- return itemOne.compareTo(itemTwo);
- }
- });
- }
- public static void krzyżowanie(Double[][] tab) {
- for(int j=0;j<=19;j++) {
- tab[j][8]=0.00;
- }
- for(int i=0;i<10;i++) {
- int index1 = i*2;
- int index2 = i*2+1;
- for(int j=8/2; j<=8;j++) {
- double temp = tab[index1][j];
- tab[index1][j]= tab[index2][j];
- tab[index2][j]=temp;
- }
- }
- }
- public static void mutacja(Double[][] tab) {
- for(int j=0;j<=19;j++) {
- tab[j][8]=0.00;
- }
- Random r = new Random();
- int o=0;
- while(o<2) {
- int i =r.nextInt(20)-0;
- int j =r.nextInt(7)-0;
- double w = rangeMin+(rangeMax-rangeMin)*g.nextDouble();
- tab[i][j]= (double)w;
- o++;
- }
- }
- public static void zastapienie(Double [][] tab) {
- for(int z =0;z<=19;z++) {
- tab[z][8]=0.00;
- }
- for(int i=18;i<=19;i++) {
- for(int j=0;j<=7;j++) {
- tab[i][j]=rangeMin+(rangeMax-rangeMin)*g.nextDouble();
- }
- }
- }
- public static void Czesc1() {
- setRandom();
- wypelnienieABS(random, abs);
- sortArray(random);
- //System.out.println("****************Znaleziono w zestawie "+x+"*********************************");
- //System.out.println("****************************************************************************");
- //Rdisplay();
- }
- public static void main(String[] args) {
- int x=1;
- Czesc1();
- boolean needToCheck = true;
- int row = 0;
- while(needToCheck)
- {
- for(int i=0; i<=19; i++) {
- //while(random[i][8]>=50.00) {
- //System.out.println(random[i][8]);
- needToCheck = (random[i][8]<=2) ? false : true;
- if(needToCheck == false)
- {
- row = i;
- break;
- }
- }
- if(needToCheck)
- {
- krzyżowanie(random);
- mutacja(random);
- //zastapienie(random);
- wypelnienieABS(random, abs);
- sortArray(random);
- System.out.println("**********************Rozwiązanie*******************************************");
- System.out.println("0.200000000000000 0.100000000000000 0.150000000000000 1.000000000000000 0.130000000000000 -5.170000000000000 0.400000000000000 -1.000000000000000");
- System.out.println("****************************************************************************");
- System.out.println("****************************************************************************");
- System.out.println("********************Zestaw"+x+"**********************************************");
- System.out.println("****************************************************************************");
- for(int i=0;i<=8;i++) {
- System.out.print(random[0][i]+" ");
- }
- System.out.println("\n"+"\n");
- x++;
- }
- }
- System.out.println("**********************Rozwiązanie*******************************************");
- System.out.println("0.500000000000000 ,0.100000000000000 , 0.200000000000000 , 0.100000000000000 , 0.300000000000000 ,-0.200000000000000 , 0.400000000000000 ,-0.100000000000000");
- System.out.println("\n****************************************************************************");
- System.out.println("****************************************************************************");
- System.out.println("****************Znaleziono w zestawie "+x+"*************************************");
- System.out.println("****************************************************************************");
- for(int j = 0; j <= 8; j++)
- {
- System.out.print(random[row][j] + " ");
- }
- }
- //System.out.println("\n******************************"+x+"*********************************************");
- //System.out.println("\n***************************************************************************");
- //Rdisplay();
- //x++;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement