Професионална програма
Loading...
+ Нов въпрос
AnnaIvanova11 avatar AnnaIvanova11 21 Точки

Anonymous Threat

Здравейте,

Може ли малко помощ, давам ми 90/ 100, на девети тест - runTimeError. Не мога да се сетя, какво ми подава, което кода ми не може да компилира.

Благодаря!

Код:

https://pastebin.com/wtNKpwRJ

 

Условие:

8.	*Anonymous Threat
The Anonymous have created a cyber hypervirus which steals data from the CIA. You, as the lead security developer in CIA, have been tasked to analyze the software of the virus and observe its actions on the data. The virus is known for his innovative and unbelievably clever technique of merging and dividing data into partitions. 
You will receive a single input line containing STRINGS separated by spaces. 
The strings may contain any ASCII character except whitespace.
You will then begin receiving commands in one of the following formats:
•	merge {startIndex} {endIndex}
•	divide {index} {partitions}
Every time you receive the merge command, you must merge all elements from the startIndex till the endIndex. In other words, you should concatenate them. 
Example: {abc, def, ghi} -> merge 0 1 -> {abcdef, ghi}
If any of the given indexes is out of the array, you must take ONLY the range that is INSIDE the array and merge it.
Every time you receive the divide command, you must DIVIDE the element at the given index into several small substrings with equal length. The count of the substrings should be equal to the given partitions. 
Example: {abcdef, ghi, jkl} -> divide 0 3 -> {ab, cd, ef, ghi, jkl}
If the string CANNOT be exactly divided into the given partitions, make all partitions except the LAST with EQUAL LENGTHS, and make the LAST one – the LONGEST. 
Example: {abcd, efgh, ijkl} -> divide 0 3 -> {a, b, cd, efgh, ijkl}
The input ends when you receive the command "3:1". At that point you must print the resulting elements, joined by a space.
Input
•	The first input line will contain the array of data
•	On the next several input lines you will receive commands in the format specified above
•	The input ends when you receive the command "3:1"
Output
•	As output you must print a single line containing the elements of the array, joined by a space.
Constrains
•	The strings in the array may contain any ASCII character except whitespace
•	The startIndex and the endIndex will be in range [-1000, 1000]
•	The endIndex will ALWAYS be GREATER than the startIndex
•	The index in the divide command will ALWAYS be INSIDE the array
•	The partitions will be in range [0, 100]
•	Allowed working time/memory: 100ms / 16MB

 

Input

Output

Ivo Johny Tony Bony Mony

merge 0 3

merge 3 4

merge 0 3

3:1

IvoJohnyTonyBonyMony

abcd efgh ijkl mnop qrst uvwx yz

merge 4 10

divide 4 5

3:1

abcd efgh ijkl mnop qr st uv wx yz

Тагове:
0
Module: Java Advanced 19/02/2020 03:34:29
JSuser avatar JSuser 217 Точки
Best Answer

Здравей,

Някъде в divide частта се чупи кода. За съжаление не успях да открия точно къде става грешката, затова пренаписах тази част и вече дава 100/100. Ето линк на поправения код:

https://pastebin.com/TnHzPxxt

Поздрави!

0
AnnaIvanova11 avatar AnnaIvanova11 21 Точки

Доста по чист изглежда така.

И аз прецених, че е в divide btw, но къде си е мистерия...

Още не ми е много ясно какво, как структурирам/правя и доста съм претрупала, понякога си се губя самосиндикално в променливите, така че като се счупи нещо си е кофти за търсене. Anyway, много Благодаря!

0
19/02/2020 19:05:31