Kezdőoldal » Számítástechnika » Programozás » Miert nem megy at a teszteken...

Miert nem megy at a teszteken ez a feladat megoldas, mar 3verziot probaltam?

Figyelt kérdés

Write a program that reads an array of integers and two numbers n and m. The program must check that n and m never occur next to each other (in any order) in the array.


Input data format


The first line contains the size of an array.


The second line contains elements of the array.


The third line contains two integer numbers n and m.


All numbers in the same line are separated by the space character.


Output data format


The result is a single boolean value true if n and m never occur next to each other; otherwise, it is false.


-------------------

Sample Input 1:


3

1 2 3

2 3

Sample Output 1:


false

Sample Input 2:


3

1 2 3

3 4

Sample Output 2:


true

Sample Input 3:


10

3 4 5 6 3 4 6 4 4 8

5 8

Sample Output 3:


true

-------------------------------


ez lenne a megoldasom,de nem megy:


import java.util.Scanner;


class Main {

public static void main(String[] args) {

// put your code here

Scanner scanner = new Scanner(System.in);

// put your code here

int size = scanner.nextInt();

int[] array = new int[size];


for (int i = 0; i < size; i++) {

array[i] = scanner.nextInt();

}


int n = scanner.nextInt();

int m = scanner.nextInt();


boolean temp = true;


/*

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

if( array[i] == number[0]){

if( i+1 < array.length ){

if(array[i+1] == number[1]){

temp = false;

}

}

}

}

*/


/*

int temp2 = 0;

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

if(i>1){

temp2 = array[(i-1)];

}

if ((array[i] == number[1]) && (temp2 == number[0])){

temp = false;

}

}

*/


/*

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

if(i>1){

temp2 = array[(i-1)];

}

if ((array[i] == m) && (temp2 == n)){

temp = false;

}

}

*/


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

if ((array[i] == n) && (i+1 < array.length)) {

if(array[i+1] == m){

temp = false;

}

}

}


System.out.println(temp);

}

}


FEEDBACK:

Failed test #5 of 8. Wrong answer



2022. márc. 10. 22:05
1 2
 1/17 A kérdező kommentje:

import java.util.Scanner;


class Main {

public static void main(String[] args) {

// put your code here

Scanner scanner = new Scanner(System.in);

// put your code here

int size = scanner.nextInt();

int[] array = new int[size];


for (int i = 0; i < size; i++) {

array[i] = scanner.nextInt();

}


int n = scanner.nextInt();

int m = scanner.nextInt();


boolean temp = true;


/*

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

if( array[i] == number[0]){

if( i+1 < array.length ){

if(array[i+1] == number[1]){

temp = false;

}

}

}

}

*/


/*

int temp2 = 0;

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

if(i>1){

temp2 = array[(i-1)];

}

if ((array[i] == number[1]) && (temp2 == number[0])){

temp = false;

}

}

*/


/*

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

if(i>1){

temp2 = array[(i-1)];

}

if ((array[i] == m) && (temp2 == n)){

temp = false;

}

}

*/


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

if ((array[i] == n) && (i+1 < array.length)) {

if(array[i+1] == m){

temp = false;

}

}

}


System.out.println(temp);

}

}

2022. márc. 10. 22:05
 2/17 anonim ***** válasza:
100%
Az #5 teszteset nem sikerül. Melyik az ötödik? Nem tudok kiigazodni rajta...
2022. márc. 10. 22:35
Hasznos számodra ez a válasz?
 3/17 A kérdező kommentje:

nem irja ki az egyes teszteket :/ mik voltak az inuputok



a kod kicsit formazva itt lathatod(futtathatod):


[link]

2022. márc. 10. 22:58
 4/17 anonim ***** válasza:
65%
OK, akkor hol van ez a feladat leírva? Biztos, hogy írja a teszteseteket is valahol. Felesleges addig taknyolni a kódot, ameddig nem tudjuk, hogy min hasal el.
2022. márc. 10. 23:12
Hasznos számodra ez a válasz?
 5/17 anonim ***** válasza:
Egyébként a megadott sample input/output-okat teljesíti maradéktalanul?
2022. márc. 10. 23:12
Hasznos számodra ez a válasz?
 6/17 anonim ***** válasza:
100%

Például a hármas esetnél az 5 8 -at már be sem engedi írni, hanem rögtön írja ki, hogy "true".


10

3 4 5 6 3 4 6 4 4 8

5 8


Ebből csak a második sorig tudok adatokat bevinni, az 5 8-at már nem kéri be. Valahol itt lesz a hiba.

2022. márc. 10. 23:24
Hasznos számodra ez a válasz?
 7/17 anonim ***** válasza:
Visszavonom, Visual Studioban jól működik. Akkor egyelőre passzolom a dolgot. Tudni kéne, hogy mit tesztel éppen, amikor elhasal...
2022. márc. 10. 23:27
Hasznos számodra ez a válasz?
 8/17 anonim ***** válasza:
96%

Valószínűleg az lesz a probléma, hogy a


"The result is a single boolean value true if n and m never occur next to each other; otherwise, it is false."


leírás nem precízen fogalmaz.


Próbáld meg azt is ellenőrizni, hogy a két szám fordított sorrendben is előfordul-e egymás mellett, tehát n m és m n sorrendben is. A programkódban jelenleg csak az "n m" előfordulás ellenőrzése van benne, hátha ez lesz a probléma oka.

2022. márc. 10. 23:38
Hasznos számodra ez a válasz?
 9/17 anonim ***** válasza:
76%
Mi nem precíz ezen? Konkrétan oda van írva, hogy "in any order".
2022. márc. 10. 23:43
Hasznos számodra ez a válasz?
 10/17 anonim ***** válasza:
26%
Az output data-hoz kifejezetten nincs ez a követelmény odaírva, tehát innentől kezdve hibásan/hiányosan van megfogalmazva a feladat. Feltéve, hogy tényleg ez volt a hiba benne. Valós helyzetben sem implementáltam volna olyat, amit nem írnak le a dokumentációban az adott függvény alá.
2022. márc. 11. 00:04
Hasznos számodra ez a válasz?
1 2

További 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!