Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Main {
- public static void main(String[] args) {
- int rozmiar=23;
- int[][] tablica = new int[rozmiar][rozmiar];// tworze tablice kwadratowa 23x23
- int ileconajmniej = (int) ((rozmiar * rozmiar) * (0.1));// wyliczam ilosc 10 porcent calej tablicy
- System.out.println("Co najmniej musi być" + " " + ileconajmniej + " " + "jedynek");
- System.out.println("====================================================");
- int zliczilośćjedynek = 0;
- for (int i = 0; i < tablica.length; i++) {
- for (int j = 0; j < tablica[i].length; j++) {
- tablica[i][j] =(int)(Math.random()*2);// wypelniam 0 i 1
- if (tablica[i][j] == 1) { // zliczam ilosc jedynek
- zliczilośćjedynek++;
- }
- System.out.print(tablica[i][j] + " ");
- }
- System.out.println();
- }
- System.out.println("Ilość jedynek:" + " " + zliczilośćjedynek);
- int ilebrakuje=ileconajmniej-zliczilośćjedynek;//licze ile jedynek brakuje aby spelnic zalozenie
- if (zliczilośćjedynek < ileconajmniej) {
- System.out.println("Za mało jedynek");
- System.out.println("Brakuje"+" "+ilebrakuje+""+"jedynek");
- } else {
- System.out.println("Ilość jedynek jest dobra");
- }
- System.out.println("==============================================================");
- int ilepełnychrzędów=ilebrakuje/23;
- System.out.println(ilepełnychrzędów);
- int ilewniepelnym=ilebrakuje%23;
- System.out.println(ilewniepelnym);
- int jedynki[][]=new int[rozmiar][rozmiar];
- for(int i=0;i<jedynki.length;i++){// w tej tablicy przechowuje 1 brakujace
- for(int j=0;j<jedynki[i].length;j++){
- if(i<ilepełnychrzędów)
- jedynki[i][j]=1;
- if(i==ilepełnychrzędów && j<ilewniepelnym ){
- jedynki[i][j]=1;
- }
- }
- }
- System.out.println();
- for(int i=0;i<tablica.length;i++){// uzupelniam "pokoj" brakujacym serem
- for(int j=0;j<tablica[i].length;j++){
- if(tablica[i][j]==0 && jedynki[i][j]==1){
- tablica[i][j]=jedynki[i][j];
- }
- else if(tablica[i][j]==1 && jedynki[i][j]==1 && j!=tablica.length-1){
- tablica[i][j+1]=jedynki[i][j];
- }
- }
- }
- System.out.println("==========================================================================");
- //--------------------------------------------------------------------------------------------------
- System.out.println("------------------------------------------");
- System.out.println();
- PostawMysz(tablica);
- int wierszm=0;
- for(int i=0;i<tablica.length;i++){
- for(int j=0;j<tablica[i].length;j++){
- if(tablica[i][j]==2){
- wierszm=i;
- }
- }
- }
- int f=0;
- while(f<=wierszm+1){
- PierwszaStrategiauno(tablica);
- f++;
- }
- for(int i=0;i<tablica.length;i++){
- for(int j=0;j<tablica[i].length;j++){
- if(tablica[i][j]==2){
- tablica[i][j]=3;
- }
- }
- }
- System.out.println("//////////////////////////////////////////////////");
- PierwszaStrategiadue(tablica);
- WyswietlTablice(tablica);
- }
- public static void WyswietlTablice(int[][]tab){
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- System.out.print(tab[i][j]+" ");
- }
- System.out.println();
- }
- }
- public static void PostawMysz(int [][] tab){
- int wiersze=(int)(Math.random()*23);
- int kolumny=(int)(Math.random()*23);
- tab[wiersze][kolumny]=2;
- System.out.println( "Mysz jest w punkcie "+ wiersze+ " "+kolumny);
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- System.out.print(tab[i][j]+" ");
- }
- System.out.println();
- }
- }
- public static void WLewo(int [][] tab){
- int myszkol=0;
- int myszwier=0;
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(tab[i][j]==2 ){
- myszkol=j;
- myszwier=i;
- }
- }
- }
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab.length;j++){
- if(j!=0){
- tab[myszwier][myszkol]=3;
- tab[myszwier][myszkol-1]=2;
- }
- }
- }
- }
- public static void WPrawo(int [][] tab){
- int myszkol=0;
- int myszwier=0;
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(tab[i][j]==2 ){
- myszkol=j;
- myszwier=i;
- }
- }
- }
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab.length;j++){
- if(j!=tab.length-1){
- tab[myszwier][myszkol]=3;
- tab[myszwier][myszkol+1]=2;
- }
- }
- }
- }
- public static void WGore(int [][] tab){
- int myszkol=0;
- int myszwier=0;
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(tab[i][j]==2 ){
- myszkol=j;
- myszwier=i;
- }
- }
- }
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab.length;j++){
- if(i!=0){
- tab[myszwier][myszkol]=3;
- tab[myszwier-1][myszkol]=2;
- }
- }
- }
- }
- public static void WDol(int [][] tab){
- int myszkol=0;
- int myszwier=0;
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(tab[i][j]==2 ){
- myszkol=j;
- myszwier=i;
- }
- }
- }
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab.length;j++){
- if(i!=tab.length-1){
- tab[myszwier][myszkol]=3;
- tab[myszwier+1][myszkol]=2;
- }
- }
- }
- }
- public static void skok(int tab[][],int wiersz,int kolumna){
- int myszkol=0;
- int myszwier=0;
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(tab[i][j]==2){
- myszkol=j;
- myszwier=i;
- }
- }
- }
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- tab[wiersz][kolumna]=2;
- System.out.print(tab[i][j]+" ");
- }
- System.out.println();
- }
- }
- public static void PierwszaStrategiauno(int [][]tab){
- int myszkol=0;
- int myszwier=0;
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(tab[i][j]==2){
- myszkol=j;
- myszwier=i;
- }
- }
- }
- System.out.println();
- for (int i = myszkol - 1; i >= 0 && i<tab.length-1; i--) {
- WLewo(tab);
- }
- for (int i = myszwier - 1; i >= myszwier - 1 && i>0; i--) {
- WGore(tab);
- }
- for (int i = 0; i < tab.length - 1; i++) {
- WPrawo(tab);
- }
- for (int i = myszwier - 1; i >= myszwier - 1 && i>0; i--) {
- WGore(tab);
- }
- WyswietlTablice(tab);
- }
- public static void PierwszaStrategiadue(int [][]tab){
- skok(tab,tab.length-1,tab.length-1);
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++ ){
- if(tab[i][j]!=3){
- PierwszaStrategiauno(tab);
- }
- }
- }
- }
- public static void DrugaStrategia(int[][]tab){
- int myszkol=0;
- int myszwier=0;
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(tab[i][j]==2){
- myszkol=j;
- myszwier=i;
- }
- }
- }
- int odleglosclewo=0;
- int odlegloscprawo=0;
- int odlegloscup=0;
- int odlegloscdown=0;
- int a=1;
- int b=1;
- int c=1;
- int d=1;
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(j>0){
- if(tab[myszwier][myszkol-a]==0 && myszkol-a!=0){
- odleglosclewo++;
- a++;
- }
- }
- }
- }
- System.out.println("Odległość do najbliższego sera w lewo:"+" "+odleglosclewo);
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(j<tab.length-1){
- if(tab[myszwier][myszkol+b]==0 && myszkol+b!=tab.length-1){
- odlegloscprawo++;
- b++;
- }
- }
- }
- }
- System.out.println("Odległość do najbliższego sera w prawo:"+" "+odlegloscprawo);
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(i<tab.length-1){
- if(tab[myszwier+c][myszkol]==0 && myszwier+c!=tab.length-1){
- odlegloscdown++;
- c++;
- }
- }
- }
- }
- System.out.println("Odległość do najbliższego sera w dol:"+" "+odlegloscdown);
- for(int i=0;i<tab.length;i++){
- for(int j=0;j<tab[i].length;j++){
- if(i>0){
- if(tab[myszwier-d][myszkol]==0 && myszwier-d!=0){
- odlegloscup++;
- d++;
- }
- }
- }
- }
- System.out.println("Odległość do najbliższego sera w gore:"+" "+odlegloscup);
- if(odleglosclewo<=odlegloscprawo){
- if(odleglosclewo<=odlegloscdown){
- if(odleglosclewo<=odlegloscup){
- System.out.println("Odległość w lewo");
- }
- }
- }
- if(odlegloscprawo<=odleglosclewo){
- if(odlegloscprawo<=odlegloscdown){
- if(odlegloscprawo<=odlegloscup){
- System.out.println("Odległość w prawo");
- }
- }
- }
- if(odlegloscdown<=odleglosclewo){
- if(odlegloscdown<=odlegloscprawo){
- if(odlegloscdown<=odlegloscup){
- System.out.println("Odległość do dołu");
- }
- }
- }
- if(odlegloscup<=odleglosclewo){
- if (odlegloscup<=odlegloscprawo){
- if(odlegloscup<=odlegloscup){
- System.out.println("Odleglosc do gory");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement