Kezdőoldal » Számítástechnika » Programozás » Ezt hogy kellene megoldani?

Ezt hogy kellene megoldani?

Figyelt kérdés

Már 2 órája próbálkozok de nem nagyon akar összejönni a feladat megoldása:


Készítsünk programot, amely bekér egy összeget,

majd kiírja, hogy azt hogyan lehet a lehető legkevesebb pénzérméből összeállítani.


16.F



2018. nov. 25. 13:13
1 2
 11/18 A kérdező kommentje:

[link]


próbáltam egy for ciklusba rakni az egészet de feladtam így most 6x van bemásolva az a pár sor

2018. nov. 26. 18:17
 12/18 A kérdező kommentje:

igen csak most esik le hogy a

for (int i = 0; i < 50000; i++)

..{

.. ..if (p >= ermek[0])... while-al mennyivel egyszerűbb lett volna.. na mind1 ezt elfelejtettem

2018. nov. 26. 18:20
 13/18 tabaki ***** válasza:

Ahogy látom, működik, és alaposan megdolgoztál vele, illendő, hogy én is közöljem a saját próbálkozásomat. Én csak amatőr módon programozgatok ugyan, de ha marhaságot írtam, majd javítanak a kollégák:

[link]

2018. nov. 26. 18:50
Hasznos számodra ez a válasz?
 14/18 A kérdező kommentje:
Szép kis kód tanultam ebből is, köszönöm
2018. nov. 26. 19:42
 15/18 tabaki ***** válasza:

Volna még egy-két megjegyzésem.

1. A goto használata manapság a legritkább esetben szerencsés. Bizonyos szint fölött lehet esetleg valami bravúros huszárvágásra használni, de egyelőre jobb, ha szigorúan kerülendőként tartod számon.

2. Ha (igen helyesen) vállalkozol arra, hogy kiszűrd az adatbeviteli hibákat, próbálj lehetőleg mindent átgondolni. Rendben, hogy még nem tudtad, hogyan kezeld, ha a program nem számot vagy éppenséggel üres Entert kap, de szám esetén se sok haszna van a feladat szempontjából lényegtelen nulla, vagy a végképp értelmetlen mínusz számokkal is végigjátszani a teendőket, és a nagy semmi kiírásával végezni, ahelyett, hogy új összeget kérnél be -- a goto-s változat esetén így:

if(p <1 || p > 1000000) goto megadas;

3. Ha már kötelezően egymillióban limitálod a bevihető értéket mi értelme van a ciklusban ötvenezres határt beállítanod, amikor i értéke garantáltan nem lehet 5000-nél nagyobb? Ez itt semmi problémával nem jár, de ki tudja: Lehet, hogy valaha egy hasonló pongyolaság miatt szalad majd egy változó olyan értékre, ami nehezen felderíthető hibákat okoz. Ha már módodban áll pontosan megadni, akkor tedd is meg.

4. Hogyha valami kódrészlet sokszor ismétlődik a programodban, akkor ébredjen fel benned a gyanú, hogy ciklusba tudod szervezni. A programodban hatszor ismételsz meg egyetlen if-blokkot, pedig csak annyi történik, hogy egyazon tömbök indexe mindig lép egyet-egyet. Ez pontosan ugyanaz, mintha egyetlen ilyen blokkot beraknál egy ciklusba, és a kérdéses tömböket a ciklusváltozóval indexelnéd.

Megpróbáltam a programodat a fentiek szerint módosítani (a logikáját és a goto-t is békén hagytam), most így néz ki:

[link]

2018. nov. 26. 21:21
Hasznos számodra ez a válasz?
 16/18 tabaki ***** válasza:

Oszt' mér nem link a link? Megpróbálom még egyszer:

[link]

2018. nov. 26. 21:22
Hasznos számodra ez a válasz?
 17/18 A kérdező kommentje:
Köszönöm ezt is ment egy hatalmas zöld pacsi! :)
2018. nov. 26. 21:37
 18/18 tabaki ***** válasza:

Na, még egy változat az általad javasolt while-ciklussal, aztán megyek aludni...

[link]

2018. nov. 26. 22:13
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!