Erinevus lehekülje "ITI0011:harjutus 04" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
6. rida: 6. rida:
 
== Ülesanne ==
 
== Ülesanne ==
  
Marko ja Triin istuvad diivanil ja mõtlevad, et pole tükk aega üksteise võimeid proovile pannud. Nimelt on mõlemad head matemaatikud ja pole tükk aega üksteisega võistelnud. Niisiis pakkus Marko välja, et ta suudab suvalises N x M maatriksis leida keskmiselt 3 pakkumisega punkti (X, Y), millele Triin mõtleb, kui Triin ütleb ühe punkti (X1, Y1) pakkumisel selle eukleidilise kauguse punktist (X, Y). Triinule idee meeldis ning otsustas kirjutada abistava programmi, et välja selgitada, kas Markol on õigus. Ta implementeeris järgnevad abistavad funktsioonid     
+
Marko ja Triin istuvad diivanil ja mõtlevad, et pole tükk aega üksteise võimeid proovile pannud. Nimelt on mõlemad head matemaatikud ja pole tükk aega üksteisega võistelnud. Niisiis pakkus Marko välja, et ta suudab suvalises N x M maatriksis leida keskmiselt 3 pakkumisega punkti (X0, Y0), millele Triin mõtleb, kui Triin ütleb ühe punkti (x, x) pakkumisel selle eukleidilise kauguse punktist (X0, Y0). Triinule idee meeldis ning otsustas kirjutada abistava programmi, et välja selgitada, kas Markol on õigus. Ta implementeeris järgnevad abistavad funktsioonid     
  
 
<code>char[][] createMatrix(int n, int m, int x, int y)</code> - Teeb valmis <code>n</code> realise ja <code>m</code> tulbalise maatriksi, kus '.' tähistab tühja kohta ja 'x' Triinu mõeldud punkti. Võib eeldada, et sisendid on alati kontrollitud.
 
<code>char[][] createMatrix(int n, int m, int x, int y)</code> - Teeb valmis <code>n</code> realise ja <code>m</code> tulbalise maatriksi, kus '.' tähistab tühja kohta ja 'x' Triinu mõeldud punkti. Võib eeldada, et sisendid on alati kontrollitud.
18. rida: 18. rida:
  
  
<code>double guess(char[][] matrix, int x, int y)</code> - Tagastab kauguse algselt valitud <code>(X0,Y0)</code> punkti ja proovitud punkti <code>(x, y)</code> vahel ja märgistab proovitud punkti sümboliga '*'. Kaugus <code>x,y</code> ja algse punkti <code>X0, Y0</code> vahel tuleb arvutada kasutades Pythagorase teoreemi (https://et.wikipedia.org/wiki/Pythagorase_teoreem). Korduval proovimisel käituda samamoodi nagu esmakordselgi. Võib eeldada, et sisendid on alati kontrollitud.
+
<code>double guess(char[][] matrix, int x, int y)</code> - Tagastab kauguse algselt valitud <code>(X0,Y0)</code> punkti ja proovitud punkti <code>(x, y)</code> vahel ja märgistab proovitud punkti sümboliga '*'. Kaugus <code>(x,y)</code> ja algse punkti <code>(X0, Y0)</code> vahel tuleb arvutada kasutades Pythagorase teoreemi (https://et.wikipedia.org/wiki/Pythagorase_teoreem). Korduval proovimisel käituda samamoodi nagu esmakordselgi. Võib eeldada, et sisendid on alati kontrollitud.
<code>String getAsciiMatrix(char[][] matrix)</code> - tagastab maatriksi sisu ascii kujul. Näiteks näide 1 puhul oleks tagastatav väärtus:
+
 
 +
'''<code>String getAsciiMatrix(char[][] matrix)</code>''' - tagastab maatriksi sisu tekstikujul. Näiteks näide 1 puhul oleks tagastatav väärtus:
 
<pre>
 
<pre>
 
"...
 
"...
26. rida: 27. rida:
 
</pre>
 
</pre>
 
(Unix-style line endings \n)
 
(Unix-style line endings \n)
 +
 
Kui punkti on juba pakutud, siis peab see olema asendatud sümboliga '*'
 
Kui punkti on juba pakutud, siis peab see olema asendatud sümboliga '*'
ehk pärast <code>shoot(matrix, 1, 1)</code> puhul oleks näite 1 kaart:
+
ehk pärast <code>shoot(matrix, 1, 1)</code> väljakutsumist oleks näite 1 kaart:
 
<pre>
 
<pre>
 
"...
 
"...
...
+
.*.
 
..."
 
..."
 
</pre>
 
</pre>
 
(Unix-style line endings \n)
 
(Unix-style line endings \n)
 +
 
Ka mõeldud punkti näidatakse kaardil '.'.
 
Ka mõeldud punkti näidatakse kaardil '.'.
  
Kasutades ülalolevaid funktsioone komplekteeris Triin programmi, mis küsib <code>N, M, X, Y</code> väärtused ja lubab pakkuda suvalisi punkte kujul <code>x,y</code> öeldes selle kauguse ja printides välja praeguse kaardi. Kahjuks unustas ta git'i üles laadida abistavad funktsioonid <code>createMatrix</code>, <code>guess</code>, <code>getAsciiMatrix</code>, kas aitaksid tal need uuesti kirjutada?
+
Kasutades ülalolevaid funktsioone komplekteeris Triin programmi, mis küsib <code>N, M, X0, Y0</code> väärtused ja lubab pakkuda suvalisi punkte kujul <code>x,y</code> öeldes selle kauguse ja printides välja praeguse kaardi. Kahjuks unustas ta git'i üles laadida abistavad funktsioonid <code>createMatrix</code>, <code>guess</code>, <code>getAsciiMatrix</code>, kas aitaksid tal need uuesti kirjutada?

Redaktsioon: 13. veebruar 2016, kell 10:59

Üldine

Tähtaeg: 17. - 19. veebruar 2016
Kausta nimi gitis: EX04

Ülesanne

Marko ja Triin istuvad diivanil ja mõtlevad, et pole tükk aega üksteise võimeid proovile pannud. Nimelt on mõlemad head matemaatikud ja pole tükk aega üksteisega võistelnud. Niisiis pakkus Marko välja, et ta suudab suvalises N x M maatriksis leida keskmiselt 3 pakkumisega punkti (X0, Y0), millele Triin mõtleb, kui Triin ütleb ühe punkti (x, x) pakkumisel selle eukleidilise kauguse punktist (X0, Y0). Triinule idee meeldis ning otsustas kirjutada abistava programmi, et välja selgitada, kas Markol on õigus. Ta implementeeris järgnevad abistavad funktsioonid

char[][] createMatrix(int n, int m, int x, int y) - Teeb valmis n realise ja m tulbalise maatriksi, kus '.' tähistab tühja kohta ja 'x' Triinu mõeldud punkti. Võib eeldada, et sisendid on alati kontrollitud.

[['x', '.', '.'],
['.', '.', '.'],
['.', '.', '.']]

kui n = 3, m = 3, x = 0, y = 0


double guess(char[][] matrix, int x, int y) - Tagastab kauguse algselt valitud (X0,Y0) punkti ja proovitud punkti (x, y) vahel ja märgistab proovitud punkti sümboliga '*'. Kaugus (x,y) ja algse punkti (X0, Y0) vahel tuleb arvutada kasutades Pythagorase teoreemi (https://et.wikipedia.org/wiki/Pythagorase_teoreem). Korduval proovimisel käituda samamoodi nagu esmakordselgi. Võib eeldada, et sisendid on alati kontrollitud.

String getAsciiMatrix(char[][] matrix) - tagastab maatriksi sisu tekstikujul. Näiteks näide 1 puhul oleks tagastatav väärtus:

"...
...
..."

(Unix-style line endings \n)

Kui punkti on juba pakutud, siis peab see olema asendatud sümboliga '*' ehk pärast shoot(matrix, 1, 1) väljakutsumist oleks näite 1 kaart:

"...
.*.
..."

(Unix-style line endings \n)

Ka mõeldud punkti näidatakse kaardil '.'.

Kasutades ülalolevaid funktsioone komplekteeris Triin programmi, mis küsib N, M, X0, Y0 väärtused ja lubab pakkuda suvalisi punkte kujul x,y öeldes selle kauguse ja printides välja praeguse kaardi. Kahjuks unustas ta git'i üles laadida abistavad funktsioonid createMatrix, guess, getAsciiMatrix, kas aitaksid tal need uuesti kirjutada?