Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.04 KB | None | 0 0
  1. public class Main {
  2.  
  3.     public static void main(String[] args) {
  4.         int rozmiar=23;
  5.         int[][] tablica = new int[rozmiar][rozmiar];// tworze tablice kwadratowa 23x23
  6.         int ileconajmniej = (int) ((rozmiar * rozmiar) * (0.1));// wyliczam ilosc 10 porcent calej tablicy
  7.         System.out.println("Co najmniej musi być" + " " + ileconajmniej + " " + "jedynek");
  8.  
  9.         System.out.println("====================================================");
  10.         int zliczilośćjedynek = 0;
  11.  
  12.             for (int i = 0; i < tablica.length; i++) {
  13.                 for (int j = 0; j < tablica[i].length; j++) {
  14.                 tablica[i][j] =(int)(Math.random()*2);// wypelniam 0 i 1
  15.                      if (tablica[i][j] == 1) { // zliczam ilosc jedynek
  16.                     zliczilośćjedynek++;
  17.                     }
  18.                 System.out.print(tablica[i][j] + " ");
  19.             }
  20.             System.out.println();
  21.         }
  22.         System.out.println("Ilość jedynek:" + " " + zliczilośćjedynek);
  23.  
  24.         int ilebrakuje=ileconajmniej-zliczilośćjedynek;//licze ile jedynek brakuje aby spelnic zalozenie
  25.  
  26.          if (zliczilośćjedynek < ileconajmniej) {
  27.             System.out.println("Za mało jedynek");
  28.             System.out.println("Brakuje"+" "+ilebrakuje+""+"jedynek");
  29.  
  30.             } else {
  31.             System.out.println("Ilość jedynek jest dobra");
  32.             }
  33.          System.out.println("==============================================================");
  34.             int ilepełnychrzędów=ilebrakuje/23;
  35.             System.out.println(ilepełnychrzędów);
  36.             int ilewniepelnym=ilebrakuje%23;
  37.             System.out.println(ilewniepelnym);
  38.  
  39.             int jedynki[][]=new int[rozmiar][rozmiar];
  40.  
  41.             for(int i=0;i<jedynki.length;i++){// w tej tablicy przechowuje 1 brakujace
  42.                 for(int j=0;j<jedynki[i].length;j++){
  43.                    if(i<ilepełnychrzędów)
  44.                        jedynki[i][j]=1;
  45.                    if(i==ilepełnychrzędów && j<ilewniepelnym ){
  46.                        jedynki[i][j]=1;
  47.                    }
  48.  
  49.  
  50.                 }
  51.  
  52.             }
  53.             System.out.println();
  54.  
  55.             for(int i=0;i<tablica.length;i++){// uzupelniam "pokoj" brakujacym serem
  56.                 for(int j=0;j<tablica[i].length;j++){
  57.                     if(tablica[i][j]==0 && jedynki[i][j]==1){
  58.                         tablica[i][j]=jedynki[i][j];
  59.                     }
  60.                     else if(tablica[i][j]==1 && jedynki[i][j]==1 && j!=tablica.length-1){
  61.                         tablica[i][j+1]=jedynki[i][j];
  62.                     }
  63.  
  64.                 }
  65.  
  66.             }
  67.  
  68.             System.out.println("==========================================================================");
  69.             //--------------------------------------------------------------------------------------------------
  70.  
  71.             System.out.println("------------------------------------------");
  72.             System.out.println();
  73.             PostawMysz(tablica);
  74.             int wierszm=0;
  75.             for(int i=0;i<tablica.length;i++){
  76.                 for(int j=0;j<tablica[i].length;j++){
  77.                     if(tablica[i][j]==2){
  78.                         wierszm=i;
  79.                     }
  80.                 }
  81.             }
  82.             int f=0;
  83.             while(f<=wierszm+1){
  84.                 PierwszaStrategiauno(tablica);
  85.                 f++;
  86.             }
  87.             for(int i=0;i<tablica.length;i++){
  88.                 for(int j=0;j<tablica[i].length;j++){
  89.                 if(tablica[i][j]==2){
  90.                     tablica[i][j]=3;
  91.                 }
  92.             }
  93.         }
  94.             System.out.println("//////////////////////////////////////////////////");
  95.  
  96.             PierwszaStrategiadue(tablica);
  97.             WyswietlTablice(tablica);
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.         }
  105.         public static void WyswietlTablice(int[][]tab){
  106.         for(int i=0;i<tab.length;i++){
  107.             for(int j=0;j<tab[i].length;j++){
  108.                 System.out.print(tab[i][j]+" ");
  109.             }
  110.             System.out.println();
  111.         }
  112.         }
  113.  
  114.         public static void PostawMysz(int [][] tab){
  115.             int wiersze=(int)(Math.random()*23);
  116.             int kolumny=(int)(Math.random()*23);
  117.             tab[wiersze][kolumny]=2;
  118.             System.out.println( "Mysz jest w punkcie "+ wiersze+ " "+kolumny);
  119.  
  120.             for(int i=0;i<tab.length;i++){
  121.                 for(int j=0;j<tab[i].length;j++){
  122.  
  123.                     System.out.print(tab[i][j]+" ");
  124.                 }
  125.                 System.out.println();
  126.             }
  127.         }
  128.             public static void WLewo(int [][] tab){
  129.             int myszkol=0;
  130.             int myszwier=0;
  131.             for(int i=0;i<tab.length;i++){
  132.                 for(int j=0;j<tab[i].length;j++){
  133.                     if(tab[i][j]==2 ){
  134.                         myszkol=j;
  135.                         myszwier=i;
  136.                     }
  137.  
  138.                 }
  139.  
  140.             }
  141.             for(int i=0;i<tab.length;i++){
  142.                 for(int j=0;j<tab.length;j++){
  143.                     if(j!=0){
  144.                         tab[myszwier][myszkol]=3;
  145.                         tab[myszwier][myszkol-1]=2;
  146.                     }
  147.  
  148.  
  149.  
  150.                 }
  151.  
  152.  
  153.             }
  154.  
  155.         }
  156.     public static void WPrawo(int [][] tab){
  157.         int myszkol=0;
  158.         int myszwier=0;
  159.         for(int i=0;i<tab.length;i++){
  160.             for(int j=0;j<tab[i].length;j++){
  161.                 if(tab[i][j]==2 ){
  162.                     myszkol=j;
  163.                     myszwier=i;
  164.                 }
  165.  
  166.             }
  167.  
  168.         }
  169.         for(int i=0;i<tab.length;i++){
  170.             for(int j=0;j<tab.length;j++){
  171.                 if(j!=tab.length-1){
  172.                     tab[myszwier][myszkol]=3;
  173.                     tab[myszwier][myszkol+1]=2;
  174.                 }
  175.  
  176.  
  177.             }
  178.  
  179.         }
  180.  
  181.     }
  182.     public static void WGore(int [][] tab){
  183.         int myszkol=0;
  184.         int myszwier=0;
  185.         for(int i=0;i<tab.length;i++){
  186.             for(int j=0;j<tab[i].length;j++){
  187.                 if(tab[i][j]==2 ){
  188.                     myszkol=j;
  189.                     myszwier=i;
  190.                 }
  191.  
  192.             }
  193.  
  194.         }
  195.         for(int i=0;i<tab.length;i++){
  196.             for(int j=0;j<tab.length;j++){
  197.                 if(i!=0){
  198.                     tab[myszwier][myszkol]=3;
  199.                     tab[myszwier-1][myszkol]=2;
  200.                 }
  201.  
  202.  
  203.             }
  204.  
  205.         }
  206.  
  207.     }
  208.     public static void WDol(int [][] tab){
  209.         int myszkol=0;
  210.         int myszwier=0;
  211.         for(int i=0;i<tab.length;i++){
  212.             for(int j=0;j<tab[i].length;j++){
  213.                 if(tab[i][j]==2 ){
  214.                     myszkol=j;
  215.                     myszwier=i;
  216.                 }
  217.  
  218.             }
  219.  
  220.         }
  221.         for(int i=0;i<tab.length;i++){
  222.             for(int j=0;j<tab.length;j++){
  223.                 if(i!=tab.length-1){
  224.                     tab[myszwier][myszkol]=3;
  225.                     tab[myszwier+1][myszkol]=2;
  226.                 }
  227.  
  228.  
  229.             }
  230.  
  231.         }
  232.  
  233.     }
  234.  
  235.  
  236.     public static void skok(int tab[][],int wiersz,int kolumna){
  237.  
  238.         int myszkol=0;
  239.         int myszwier=0;
  240.         for(int i=0;i<tab.length;i++){
  241.             for(int j=0;j<tab[i].length;j++){
  242.                 if(tab[i][j]==2){
  243.                     myszkol=j;
  244.                     myszwier=i;
  245.  
  246.                 }
  247.             }
  248.         }
  249.  
  250.         for(int i=0;i<tab.length;i++){
  251.            for(int j=0;j<tab[i].length;j++){
  252.                tab[wiersz][kolumna]=2;
  253.                System.out.print(tab[i][j]+" ");
  254.            }
  255.            System.out.println();
  256.  
  257.         }
  258.  
  259.  
  260.  
  261.     }
  262.     public static void PierwszaStrategiauno(int [][]tab){
  263.  
  264.         int myszkol=0;
  265.         int myszwier=0;
  266.         for(int i=0;i<tab.length;i++){
  267.             for(int j=0;j<tab[i].length;j++){
  268.                 if(tab[i][j]==2){
  269.                     myszkol=j;
  270.                     myszwier=i;
  271.  
  272.                 }
  273.             }
  274.         }
  275.  
  276.         System.out.println();
  277.  
  278.                 for (int i = myszkol - 1; i >= 0 && i<tab.length-1; i--) {
  279.  
  280.                     WLewo(tab);
  281.                 }
  282.  
  283.                 for (int i = myszwier - 1; i >= myszwier - 1 && i>0; i--) {
  284.                     WGore(tab);
  285.                 }
  286.  
  287.                 for (int i = 0; i < tab.length - 1; i++) {
  288.                     WPrawo(tab);
  289.                 }
  290.  
  291.                 for (int i = myszwier - 1; i >= myszwier - 1 && i>0; i--) {
  292.                     WGore(tab);
  293.                 }
  294.                 WyswietlTablice(tab);
  295.  
  296.  
  297.     }
  298.     public static void PierwszaStrategiadue(int [][]tab){
  299.  
  300.         skok(tab,tab.length-1,tab.length-1);
  301.         for(int i=0;i<tab.length;i++){
  302.             for(int j=0;j<tab[i].length;j++ ){
  303.                 if(tab[i][j]!=3){
  304.                     PierwszaStrategiauno(tab);
  305.  
  306.                 }
  307.             }
  308.         }
  309.  
  310.     }
  311.     public static void DrugaStrategia(int[][]tab){
  312.         int myszkol=0;
  313.         int myszwier=0;
  314.         for(int i=0;i<tab.length;i++){
  315.             for(int j=0;j<tab[i].length;j++){
  316.                 if(tab[i][j]==2){
  317.                     myszkol=j;
  318.                     myszwier=i;
  319.  
  320.                 }
  321.             }
  322.         }
  323.         int odleglosclewo=0;
  324.         int odlegloscprawo=0;
  325.         int odlegloscup=0;
  326.         int odlegloscdown=0;
  327.         int a=1;
  328.         int b=1;
  329.         int c=1;
  330.         int d=1;
  331.         for(int i=0;i<tab.length;i++){
  332.             for(int j=0;j<tab[i].length;j++){
  333.                 if(j>0){
  334.                     if(tab[myszwier][myszkol-a]==0 && myszkol-a!=0){
  335.                         odleglosclewo++;
  336.                         a++;
  337.                     }
  338.                 }
  339.             }
  340.         }
  341.         System.out.println("Odległość do najbliższego sera w lewo:"+" "+odleglosclewo);
  342.         for(int i=0;i<tab.length;i++){
  343.             for(int j=0;j<tab[i].length;j++){
  344.                 if(j<tab.length-1){
  345.                     if(tab[myszwier][myszkol+b]==0 && myszkol+b!=tab.length-1){
  346.                         odlegloscprawo++;
  347.                         b++;
  348.                     }
  349.                 }
  350.             }
  351.         }
  352.         System.out.println("Odległość do najbliższego sera w prawo:"+" "+odlegloscprawo);
  353.         for(int i=0;i<tab.length;i++){
  354.             for(int j=0;j<tab[i].length;j++){
  355.                 if(i<tab.length-1){
  356.                     if(tab[myszwier+c][myszkol]==0 && myszwier+c!=tab.length-1){
  357.                         odlegloscdown++;
  358.                         c++;
  359.                     }
  360.                 }
  361.             }
  362.         }
  363.         System.out.println("Odległość do najbliższego sera w dol:"+" "+odlegloscdown);
  364.         for(int i=0;i<tab.length;i++){
  365.             for(int j=0;j<tab[i].length;j++){
  366.                 if(i>0){
  367.                     if(tab[myszwier-d][myszkol]==0 && myszwier-d!=0){
  368.                         odlegloscup++;
  369.                         d++;
  370.                     }
  371.                 }
  372.             }
  373.         }
  374.         System.out.println("Odległość do najbliższego sera w gore:"+" "+odlegloscup);
  375.  
  376.         if(odleglosclewo<=odlegloscprawo){
  377.             if(odleglosclewo<=odlegloscdown){
  378.                 if(odleglosclewo<=odlegloscup){
  379.                     System.out.println("Odległość w lewo");
  380.                 }
  381.             }
  382.         }
  383.         if(odlegloscprawo<=odleglosclewo){
  384.             if(odlegloscprawo<=odlegloscdown){
  385.                 if(odlegloscprawo<=odlegloscup){
  386.                     System.out.println("Odległość w prawo");
  387.                 }
  388.             }
  389.         }
  390.         if(odlegloscdown<=odleglosclewo){
  391.             if(odlegloscdown<=odlegloscprawo){
  392.                 if(odlegloscdown<=odlegloscup){
  393.                     System.out.println("Odległość do dołu");
  394.                 }
  395.             }
  396.         }
  397.         if(odlegloscup<=odleglosclewo){
  398.             if (odlegloscup<=odlegloscprawo){
  399.                 if(odlegloscup<=odlegloscup){
  400.                     System.out.println("Odleglosc do gory");
  401.                 }
  402.             }
  403.         }
  404.  
  405.  
  406.  
  407.  
  408.     }
  409.  
  410.  
  411.  
  412.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement