Kezdőoldal » Számítástechnika » Programozás » C# hogyan csinálnád?

C# hogyan csinálnád?

Figyelt kérdés
2012. okt. 22. 22:14
 1/3 A kérdező kommentje:

int n = 1;


int a;


int[] X = new int[n];


Random r = new Random();


int i = 0;


do

{

++i;


X[i] = r.Next(0,100);

Console.Write("A szám amire gondoltam: "); a = Convert.ToInt32(Console.ReadLine());


} while (a != X[i]);


Console.ReadKey();



Egészítsük ki az előző feladatot, hogy a megoldás lépésszámát is írja ki!

2012. okt. 22. 22:14
 2/3 anonim ***** válasza:
Ha leírod pontosan mi a feladat, akkor megmutatom, hogyan csinálnám.
2012. okt. 22. 23:10
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

A program több sebből vérzik.


Első, hogy nem jó:

n=1 esetén az X tömb egy elemű, azaz X[0] létezik csak.

A ciklus első lépése, hogy i-t 1-re állítja, utána megpróbál X[1]-be beírni egy 0-100 közötti véletlen számot, de persze a program egyből el fog hasalni, mert az X tömb indexelése ezt nem engedi meg.


Második hasalás ott van, hogy a ciklus minden körben új véletlen számot dob amit a játékosnak ki kellene találnia.


Ez egyrészt rendkívül nehéz feladat lenne, másrészt a program sehol sem ellenőrzi, hogy az X tömb méretén kívül akar-e címezni a ciklus.


Röviden fogalmaznék: ez a program talán minden szempontból hibás.


Átírni kb. így lehetne:


int próbálkozások_száma = 0;

int tipp;

Random véletlenszám = new Random();

int kitalálni_való_szám = véletlenszám.Next(0, 10);

do

{

próbálkozások_száma++;

Console.Write("Melyik szám amire gondoltam? ");

tipp = Convert.ToInt32(Console.ReadLine());

}

while (tipp != kitalálni_való_szám);


Console.WriteLine("Helyes, a {0} számra gondoltam, ezt {1} tippből találtad ki!", kitalálni_való_szám, próbálkozások_száma);

Console.ReadKey();


Ez a megoldás kb. azt csinálja, amit a feltett kérdésben szereplő programnak *kéne*, de természetesen bőven messze van az ideálistól. Direkt do-while ciklussal írtam, az én választásom másra esett volna.

0-10 közötti számokra írtam át, úgy egyszerűbb a játék.

2012. okt. 23. 01:43
Hasznos számodra ez a válasz?

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!