SHARE
TWEET

Untitled

a guest Apr 25th, 2019 50 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package Projekt_ITN;
  2.  
  3. public class S19432_p01v2 {
  4.  
  5.     public static void main(String[] args) {
  6.         int Tab [][] = new int [23][23];
  7.         int jedynki =(int)((Math.random()*476)+53); //ilosc jedynek od 53 do 100
  8.         int i=0; //zmienna pomocnicza
  9.        
  10.         while(i <= jedynki) {
  11.             int rzad = (int)(Math.random()*23); // w rzedzie
  12.             int kolumna = (int)(Math.random()*23); // w kolumnie
  13.             Tab[rzad][kolumna] = 1;
  14.             i++;
  15.         }
  16.        
  17.         int rzad2 = (int)(Math.random()*23); // 2 w rzedzie
  18.         int kolumna2 = (int)(Math.random()*23); // 2 w kolumnie
  19.         Tab[rzad2][kolumna2] = 2;
  20.        
  21.        
  22.        
  23.         for(int m=0; m<23; m++) {
  24.             for(int j=0; j<23; j++) {
  25.                 System.out.print(Tab[m][j]+" ");
  26.             }
  27.             System.out.println();
  28.         }
  29.        
  30.         najblizszy(Tab, rzad2, kolumna2);
  31.     }
  32.    
  33.     public static void naslepo(int[][] Tab, int rzad2, int kolumna2) {
  34.        
  35.         int TF = 1;
  36.         while(TF > 0) {
  37.             System.out.println();
  38.             int kierunek = (int)((Math.random()*8)+1);
  39.             switch(kierunek) {
  40.             case 1: // w gore
  41.                 if(rzad2!=0) {
  42.                 Tab[rzad2-1][kolumna2] = 2 ;
  43.                 Tab[rzad2][kolumna2] = 3;
  44.                 rzad2=rzad2-1;
  45.                
  46.                 }
  47.                 else {
  48.                     break;
  49.                 }
  50.                 break;
  51.             case 2: // w dol
  52.                 if(rzad2!=2) {
  53.                 Tab[rzad2+1][kolumna2] = 2 ;
  54.                 Tab[rzad2][kolumna2] = 3;
  55.                 rzad2=rzad2+1;
  56.                
  57.                 }
  58.                 else {
  59.                     break;
  60.                 }
  61.                 break;
  62.             case 3: // w lewo
  63.                 if(kolumna2!=0) {
  64.                 Tab[rzad2][kolumna2-1] = 2 ;
  65.                 Tab[rzad2][kolumna2] = 3;
  66.                 kolumna2 = kolumna2-1;
  67.                
  68.                 }
  69.                 else {
  70.                     break;
  71.                 }
  72.                 break;
  73.             case 4: // w prawo
  74.                 if(kolumna2!=2) {
  75.                 Tab[rzad2][kolumna2+1] = 2 ;
  76.                 Tab[rzad2][kolumna2] = 3;
  77.                 kolumna2 = kolumna2+1;
  78.                
  79.                 }
  80.                 else {
  81.                     break;
  82.                 }
  83.                 break;
  84.             case 5: // w lewo-gora
  85.                 if(rzad2!=0 && kolumna2!=0) {
  86.                 Tab[rzad2-1][kolumna2-1] = 2 ;
  87.                 Tab[rzad2][kolumna2] = 3;
  88.                 rzad2=rzad2-1;
  89.                 kolumna2=kolumna2-1;
  90.                
  91.                 }
  92.                 else {
  93.                     break;
  94.                 }
  95.                 break;
  96.             case 6: // w prawo-gora
  97.                 if(rzad2!=0 && kolumna2!=2) {
  98.                 Tab[rzad2-1][kolumna2+1] = 2 ;
  99.                 Tab[rzad2][kolumna2] = 3;
  100.                 rzad2=rzad2-1;
  101.                 kolumna2=kolumna2+1;
  102.                
  103.                 }
  104.                 else {
  105.                     break;
  106.                 }
  107.                 break;
  108.             case 7: // w lewo-dol
  109.                 if(rzad2!=2 && kolumna2!=0) {
  110.                 Tab[rzad2+1][kolumna2-1] = 2 ;
  111.                 Tab[rzad2][kolumna2] = 3;
  112.                 rzad2=rzad2+1;
  113.                 kolumna2=kolumna2-1;
  114.                
  115.                 }
  116.                 else {
  117.                     break;
  118.                 }
  119.                 break;
  120.             case 8: // w prawo-dol
  121.                 if(rzad2!=2 && kolumna2!=2) {
  122.                 Tab[rzad2+1][kolumna2+1] = 2 ;
  123.                 Tab[rzad2][kolumna2] = 3;
  124.                 rzad2=rzad2+1;
  125.                 kolumna2=kolumna2+1;
  126.                
  127.                 }
  128.                 else {
  129.                     break;
  130.                 }
  131.                 break;
  132.             }
  133.             for(int i=0; i<3; i++) {
  134.                 for(int j=0; j<3; j++) {
  135.                     if(Tab[i][j]==1) {
  136.                         TF = 1;
  137.                         break;
  138.                     }
  139.                     else {
  140.                         TF = 0;
  141.                     }
  142.                 }
  143.             if(TF > 0) {
  144.                 break;
  145.                 }
  146.             }
  147.             for(int m=0; m<3; m++) {
  148.                 for(int j=0; j<3; j++) {
  149.                     System.out.print(Tab[m][j]);
  150.                 }
  151.                 System.out.println();
  152.             }
  153.         }
  154.        
  155.        
  156.         for(int m=0; m<3; m++) {
  157.             for(int j=0; j<3; j++) {
  158.                 System.out.print(Tab[m][j]);
  159.             }
  160.             System.out.println();
  161.         }
  162.        
  163.     }
  164.    
  165.     public static void najblizszy(int[][] Tab,  int rzad2, int kolumna2) {
  166.         boolean change = true;
  167.         System.out.println();
  168.         int buff;
  169.         int odl = 100;
  170.         int najrzad2 = rzad2;
  171.         int najkolumna2 = kolumna2;
  172.         int kierunek; // 1=N 2=E 3=S 4=W 5=NW 6=NE 7=SE 8=SW
  173.        
  174.         int TF = 1;
  175.        
  176.         while(TF > 0) {
  177.             odl = 100;
  178.         najrzad2 = rzad2;
  179.         najkolumna2 = kolumna2;
  180.             System.out.println();
  181.             change = true;
  182.         for(int i=0; i<23; i++) {
  183.  
  184.             for(int j=0; j<23; j++) {
  185.                 if(Tab[i][j]==1) {
  186.                     if(rzad2==i) {
  187.                         buff = Math.abs(kolumna2-j);
  188.                         if(buff<odl) {
  189.                             odl=buff;
  190.                             najrzad2=rzad2;
  191.                             najkolumna2=j;
  192.                         }
  193.                     }
  194.                     else if(kolumna2==j) {
  195.                         buff = Math.abs(rzad2-i);
  196.                         if(buff<odl) {
  197.                             odl=buff;
  198.                             najkolumna2=kolumna2;
  199.                             najrzad2=i;
  200.                         }
  201.                     }
  202.                     else if(Math.abs(kolumna2-j)==Math.abs(rzad2-i)) {
  203.                         buff = Math.abs(rzad2-i);
  204.                         if(buff<odl) {
  205.                             odl=buff;
  206.                             najkolumna2=j;
  207.                             najrzad2=i;
  208.                         }
  209.                     }
  210.                    
  211.                
  212.                    
  213.                    
  214.                    
  215.                    
  216.                     }
  217.                 }
  218.             }
  219.        
  220.         if(najrzad2 == rzad2) {
  221.             if(najkolumna2>kolumna2) {
  222.                 kierunek = 2;
  223.             }
  224.             else{
  225.                 kierunek = 4;
  226.             }
  227.         }
  228.         else if(najkolumna2 == kolumna2) {
  229.             if(najrzad2>rzad2) {
  230.                 kierunek = 3;
  231.             }
  232.             else {
  233.                 kierunek = 1;
  234.             }
  235.         }
  236.         else{
  237.             if(najrzad2>rzad2 && najkolumna2>kolumna2) {
  238.                 kierunek = 7;
  239.             }
  240.             else if(najrzad2<rzad2 && najkolumna2<kolumna2) {
  241.                 kierunek = 5;
  242.             }
  243.             else if(najrzad2>rzad2 && najkolumna2<kolumna2) {
  244.                 kierunek = 8;
  245.             }
  246.             else {
  247.                 kierunek = 6;
  248.             }
  249.            
  250.         }
  251.        
  252.         while(Tab[rzad2][kolumna2]!=1  && change==true) {
  253.                 switch(kierunek) {
  254.                     case 2:
  255.                         if(Tab[rzad2][kolumna2+1]==1)
  256.                             change = false;
  257.                         Tab[rzad2][++kolumna2] = 2;
  258.                         Tab[rzad2][kolumna2-1] = 3;
  259.                        
  260.                         break;
  261.                     case 6:
  262.                         if(Tab[rzad2-1][kolumna2+1]==1)
  263.                             change = false;
  264.                         Tab[--rzad2][++kolumna2] = 2;
  265.                         Tab[rzad2+1][kolumna2-1] = 3;
  266.                        
  267.                         break;
  268.                     case 7:
  269.                         if(Tab[rzad2+1][kolumna2+1]==1)
  270.                             change = false;
  271.                         Tab[++rzad2][++kolumna2] = 2;
  272.                         Tab[rzad2-1][kolumna2-1] = 3;
  273.                        
  274.                         break;
  275.                     case 3:
  276.                         if(Tab[rzad2+1][kolumna2]==1)
  277.                             change = false;
  278.                         Tab[++rzad2][kolumna2] = 2;
  279.                         Tab[rzad2-1][kolumna2] = 3;
  280.                        
  281.                         break;
  282.                     case 1:
  283.                         if(Tab[rzad2-1][kolumna2]==1)
  284.                             change = false;
  285.                         Tab[--rzad2][kolumna2] = 2;
  286.                         Tab[rzad2+1][kolumna2] = 3;
  287.                        
  288.                         break;
  289.                     case 4:
  290.                         if(Tab[rzad2][kolumna2-1]==1)
  291.                             change = false;
  292.                         Tab[rzad2][--kolumna2] = 2;
  293.                         Tab[rzad2][kolumna2+1] = 3;
  294.                        
  295.                         break;
  296.                     case 5:
  297.                         if(Tab[rzad2-1][kolumna2-1]==1)
  298.                             change = false;
  299.                         Tab[--rzad2][--kolumna2] = 2;
  300.                         Tab[rzad2+1][kolumna2+1] = 3;
  301.                        
  302.                         break;
  303.                     case 8:
  304.                         if(Tab[rzad2+1][kolumna2-1]==1)
  305.                             change = false;
  306.                         Tab[++rzad2][--kolumna2] = 2;
  307.                         Tab[rzad2-1][kolumna2+1] = 3;
  308.                        
  309.                         break;
  310.                         }
  311.                     for(int m=0; m<23; m++) {
  312.             for(int j=0; j<23; j++) {
  313.                 System.out.print(Tab[m][j]+" ");
  314.             }
  315.             System.out.println();
  316.         }
  317.            
  318.             }
  319.         for(int i=0; i<23; i++) {
  320.             for(int j=0; j<23; j++) {
  321.                 if(Tab[i][j]==1) {
  322.                     TF = 1;
  323.                     break;
  324.                 }
  325.                 else {
  326.                     TF = 0;
  327.                 }
  328.             }
  329.         if(TF > 0) {
  330.             break;
  331.             }
  332.         }
  333.    
  334.        
  335.         }
  336.         System.out.println("Koncowa tablica: ");
  337.         for(int m=0; m<23; m++) {
  338.             for(int j=0; j<23; j++) {
  339.                 System.out.print(Tab[m][j]);
  340.             }
  341.             System.out.println();
  342.         }
  343.     }
  344.    
  345. //  public static void wie(int [][]Tab, int rzad2, int kolumna2, int jedynki) {
  346. //      int first = 0;
  347. //      int second = 0;
  348. //          int jedyneczki[][] = new int [jedynki][2];
  349. //          for(int i=0; i<3; i++) {
  350. //              for(int j=0; j<3; j++) {
  351. //                  if(tab[i][j]==1) {
  352. //                      jedyneczki[first][first] = tab[i][j];
  353. //                      first++;
  354. //                  }
  355. //              }
  356. //          }
  357. //  }
  358.  
  359. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top