Kezdőoldal » Számítástechnika » Programozás » Java feladat 3 ugyan olyan...

Java feladat 3 ugyan olyan szám a tömbben nem egymás mellett?

Figyelt kérdés

Ha nem egymás mellett vannak a számok(3 ugyan olyan szám) akkor true,ha egymás mellet vannak a számok akkor false.

Ha a tömbben van 3 ugyan olyan szám nem egymás után,viszont van 3 olyan szám ami egymás után van akkor is false,hiába teljesül az első feltétel(3 ugyan olyan szám,ami nem egymás mellett váll) Nem tudom megoldani,nagyon kezdő vagyok még.Nem tudok rájönni hogyan kellene.Megköszönném annak aki segítene.



2017. márc. 16. 17:10
1 2
 1/11 A kérdező kommentje:

public class Main {



public static Scanner sc = new Scanner(System.in);

public static void main(String[] args) {

int inNum = sc.nextInt();

int myArray [] = fillArray(inNum);

System.out.println(haveSameThreeTimes(myArray));


}

public static int [] fillArray(int number){

int [] myArray = new int [number];

for(int i = 0; i < myArray.length; i++){

myArray[i] = sc.nextInt();

} return myArray;

}

public static boolean haveSameThreeTimes(int [] array){

int count = 0;

for(int i = 0; i < array.length; i++){



if(array[i] == array[i+2] && array[i] != array[i+1]){

array[i] = count;


return true;

}else count++;

}

return (count == 3);

}

2017. márc. 16. 17:12
 2/11 anonim ***** válasza:
Nyugtass meg, az ugrálókötelezés, meg a mászóka, ezek azért mennek?
2017. márc. 16. 17:27
Hasznos számodra ez a válasz?
 3/11 A kérdező kommentje:
Furcsa a cinizmusod,gondolom te is voltál kezdő,igaz?
2017. márc. 16. 17:41
 4/11 anonim ***** válasza:

Komolyan ezen a feladaton vergődsz már hetek óta??

Hihetetlen

2017. márc. 16. 18:27
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:

Ha jól értem a feltételt, akkor három egymás utáni egyforma szám mindenképpen false? Akkor felesleges a másik feltételt vizsgálni, elég ennyi:


public static boolean haveSameThreeTimes(int [] array){

for(int i = 0; i <= array.length-3; i++){

if(array[i] == array[i+1] && array[i] == array[i+2]){

return false;

}

return true;

}

2017. márc. 16. 18:28
Hasznos számodra ez a válasz?
 6/11 SimkoL ***** válasza:
Nem egészen jól érted. Ha van három ugyanolyan szám....
2017. márc. 16. 18:35
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:

Ha van 3 ugyan olyan szám a tömbben pl: 5 1 5 1 5 6 --> true


5 1 5 1 5 6 4 4 4 -> ez viszont már false,mivel nhiába van benne 3 ugyan olyan és nem is egymás mellett,tehát true lenne,ott van a 4 db 4-es ami egymás melett van,ezért false az eredmény.


5 4 4 4 5 5 -> szintán false,mivel egymás mellett vannak a számok.

2017. márc. 16. 18:40
 8/11 A kérdező kommentje:

public static Scanner sc = new Scanner(System.in);

public static void main(String[] args) {

int inNum = sc.nextInt();

int myArray [] = fillArray(inNum);

System.out.println(isContainDistinct(myArray));


}

public static int [] fillArray(int number){

int [] myArray = new int [number];

for(int i = 0; i < myArray.length; i++){

myArray[i] = sc.nextInt();

} return myArray;

}


public static boolean isContainDistinct(int[] arr) {


for (int i = 0; i < arr.length-2; i++) {

if (arr[i] != arr[i + 1] && arr[i] == arr[i + 2] && arr[i+2] != arr[i+3] && arr[i] == arr[i+4]) {

return true;

} if(arr[i] == arr[i+1] && arr[i] == arr[i+2]){

return false;

}

}

return false;

}

}

Úgy tűnik így működik.

2017. márc. 16. 19:06
 9/11 anonim ***** válasza:
Tragikus.
2017. márc. 16. 19:21
Hasznos számodra ez a válasz?
 10/11 A kérdező kommentje:
Mint feltehetően az életed.
2017. márc. 16. 19:35
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!